我有這個使用Webstart的多模塊項目設置,我需要將WAR與SNAPSHOT JAR捆綁在一起。當JAR捆綁到WAR中時,它們會附加一個時間戳而不是實際的名稱。這是在下載過程中造成的問題。WAR包捆綁有時間戳的SNAPSHOT JARs
Expected - ABC-1.0-SNAPSHOT.jar
Actual - ABC-1.0-20141002.211448-2.jar
ENV:
操作系統:Unix的 的Maven:3.2.1 JDK 1.7
我已經嘗試useUniqueVersions =假通過定義Maven的戰爭插件,設置這個在清單配置中。
我Webstart的配置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>webstart-maven-plugin</artifactId>
<version>1.0-beta-6</version>
<executions>
<execution>
<phase>process-resources</phase>
<goals>
<goal>jnlp-download-servlet</goal>
</goals>
</execution>
</executions>
<configuration>
<outputDirectoryName>.</outputDirectoryName>
<excludeTransitive>true</excludeTransitive>
<commonJarResources>
<jarResource>
...
</jarResource>
</commonJarResources>
<jnlpFiles>
<jnlpFile>
<templateFilename>JNLP-INF/APPLICATION_TEMPLATE.JNLP</templateFilename>
<outputFilename>client.jnlp</outputFilename>
<jarResources>
<jarResource>
...
</jarResource>
</jarResources>
</jnlpFile>
</jnlpFiles>
<sign>
...
</sign>
<outputJarVersions>false</outputJarVersions>
</configuration>
欣賞任何投入。
UPDATE 關於戰爭的插件添加細節我加
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
</plugin>
的行爲仍在繼續。我讀到maven 3使用了獨特的快照系統。但我正在努力解決這個問題。
也試過沒有任何的運氣
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}</outputFileNameMapping>
</configuration>
</plugin>
嗯..你寫maven-war-plugin是問題,但是你顯示webstart-maven-plugin的配置?你能在你創建戰爭文件的地方顯示完整的pom文件嗎?此外,你使用哪個版本的maven-war-plugin? – khmarbaise 2014-10-07 18:10:01
我的pom中沒有關於maven war插件的具體定義。我已經將包裝定義爲WAR,maven應該使用最新版本的war插件。 – Srini 2014-10-07 18:21:19
[這不是最新的](http://maven.apache.org/ref/3.2.1/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging)。它是版本2.2,它不是**最新版本。此外,你應該一直釘住插件的版本。所以請用maven-war-plugin的特定版本2.4來檢查這個行爲。 – khmarbaise 2014-10-07 18:46:27