我有这个使用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