2013-04-03 75 views
0

我正在使用maven Struts2空白工件來創建我的web應用程序。這裏是我的pom.xml: -使用maven碼頭插件更改生成的戰爭名稱

<?xml version="1.0" encoding="UTF-8"?> 
<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.website.my</groupId> 
<artifactId>MyArtifact</artifactId> 
<version>3</version> 
<packaging>war</packaging> 
<name>My Artifact</name> 

<properties> 
    <struts2.version>2.3.12</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>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> 
      <groupId>org.mortbay.jetty</groupId> 
      <artifactId>jetty-maven-plugin</artifactId> 
      <version>8.1.7.v20120910</version> 
      <configuration> 
       <war>C:\Users\pranay\Documents\GitHub\MyArtifact\target\myWeb.war</war>      
       <stopKey>CTRL+C</stopKey> 
       <stopPort>8999</stopPort> 
       <systemProperties> 
        <systemProperty> 
         <name>log4j.configuration</name> 
         <value>/Users/lukaszlenart/Projects/Apache/STRUTS_2_3_12/target/checkout/archetypes/struts2-archetype-blank/src/main/resources/log4j.properties</value> 
        </systemProperty> 
        <systemProperty> 
         <name>slf4j</name> 
         <value>false</value> 
        </systemProperty> 
       </systemProperties> 
       <scanIntervalSeconds>10</scanIntervalSeconds> 
       <webAppSourceDirectory>/Users/lukaszlenart/Projects/Apache/STRUTS_2_3_12/target/checkout/archetypes/struts2-archetype-blank/src/main/webapp/</webAppSourceDirectory> 
       <webApp> 
        <contextPath>/MyArtifact</contextPath> 
        <descriptor>C:\Users\Pranay\Documents\GitHub\MyArtifact\src\main\webapp\WEB-INF</descriptor> 
       </webApp> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>log4j</groupId> 
        <artifactId>log4j</artifactId> 
        <version>1.2.17</version> 
       </dependency> 
      </dependencies> 
     </plugin> 
    </plugins> 
</build> 

上述pom.xml中使用的碼頭服務器來創建戰file.So當我運行mvn碼頭:戰爭運行,那麼它會創建war文件的名稱爲MyArtifact- 3.war(artifactId版本),但我希望我的戰爭文件名是myWeb.war。我在配置pom.xml中使用war標記來指定我想要的戰爭名稱(根據此鏈接http://www.eclipse.org/jetty/documentation/current/jetty-maven-plugin.html#running-assembled-webapp-as-war)。但是,它不工作。請讓我知道如何更改生成的戰爭文件名稱。

+0

你可以簡單的運行mvn清潔套裝獲得戰爭,這是作爲碼頭一個更好的辦法:戰爭只運行編譯並無需啓動 – 2013-04-04 06:32:25

回答

2

夠簡單,只需覆蓋<finalName>值。

<project> 
    <build> 
    <finalName>${project.artifactId}</finalName> 
    </build> 
</project> 
+0

謝謝測試創建存檔。這很容易。 – 2013-04-03 19:57:46

+0

繼續,如果它適合你,接受答案。 – 2013-04-03 20:09:55

相關問題