2011-10-08 81 views
1

我想我的部署Web的應用程序使用Maven 3.X這裏Tomcat是pom.xml文件無法使用maven 3.X

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.demo</groupId> 
    <artifactId>demoapp</artifactId> 
    <version>2.2.3</version> 
    <packaging>war</packaging> 
    <name>Blank Webapp</name> 

    <properties> 
     <struts2.version>2.2.3</struts2.version> 
    </properties> 

    <dependencies> 

     <dependency> 
      <groupId>org.apache.struts</groupId> 
      <artifactId>struts2-core</artifactId> 
      <version>${struts2.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.struts</groupId> 
      <artifactId>struts2-config-browser-plugin</artifactId> 
      <version>${struts2.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.struts</groupId> 
      <artifactId>struts2-junit-plugin</artifactId> 
      <version>${struts2.version}</version> 
      <scope>test</scope> 
     </dependency> 

     <dependency> 
      <groupId>commons-logging</groupId> 
      <artifactId>commons-logging</artifactId> 
      <version>1.1.1</version> 
     </dependency> 

     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.5</version> 
      <scope>test</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-mock</artifactId> 
      <version>2.0.8</version> 
      <scope>test</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>2.5</version> 
      <scope>test</scope> 
     </dependency> 

     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>servlet-api</artifactId> 
      <version>2.4</version> 
      <scope>provided</scope> 
     </dependency> 

     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>jsp-api</artifactId> 
      <version>2.0</version> 
      <scope>provided</scope> 
     </dependency> 

    </dependencies> 

    <build> 

     <plugins> 
     <plugin> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.1.1</version> 
       <configuration> 
        <packagingExcludes>WEB-INF/web.xml</packagingExcludes> 
       </configuration> 
      </plugin> 
      <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>tomcat-maven-plugin</artifactId> 
     <configuration> 
       <warFile>${project.build.directory}/${project.build.finalName}.war</warFile> 
       <url>http://localhost:8080/manager/html</url> 
       <server>localhost</server> 
       <path>/WebApp</path> 

     </configuration> 
</plugin> 

     </plugins> 
    </build> 

</project> 

的快照部署戰爭我嘗試以下在行家mvn deploy的目標,但我得到了以下構建失敗,後做事以下錯誤

Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter -> [Help 1] 

一些谷歌上搜索我添加下面進入我的pom.xml

<distributionManagement> 
    <repository> 
     <id>myRepoId</id> 
     <name>myCompanyReporsitory</name> 
     <!-- <url>scp://nothing/</url> 

     <url>${user.home}/m2/repository</url> --> 
    </repository> 
    </distributionManagement> 

,但我不知道應該是什麼URL因爲使用${user.home}/m2/repository給出了與構建失敗

Failed to deploy artifacts/metadata: No connector available to access repository myRepoId (C:\Users\admin/m2/repository) of type default using the available factories WagonRepositoryConnectorFactory -> [Help 1] 

如何解決問題的另一種錯誤?

+0

使用'mvn tomcat:deploye'完成了我從Maven所要求的操作。 –

+0

這是您的問題的解決方案嗎?那麼你應該回答並接受你自己。 –

回答

1

mvn deploy嘗試將包目標的結果發送到POM中描述的存儲庫的URL。我的目標不是在其服務器上部署Web應用程序,而是與其他人共享生成的庫。

如果你需要的是部署你的webapp,那麼tomcat插件是一個解決方案。

BTW:嘗試部署時連接器問題是由於要啓用SCP,您需要添加wagon-scp連接器。