Ete*_*ner 5 maven-plugin maven-3 maven maven-war-plugin
我首先使用CXF教程遵循此 合同,虽然pom.xml生成的源生成源甚至成功完成构建,但它无法创建WAR文件.
相反,它会创建一个JAR文件.
我的理解是pom.xml中负责创建WAR的部分是:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<outputDirectory>D:/path/to/profile/autodeploy</outputDirectory>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我没有看到任何<goal>或<execution>元素(与build-helper-maven-plugin一个不同),但我也明白,使用这个插件这暗示,甚至官方使用页面演示:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<webappDirectory>/sample/servlet/container/deploy/directory</webappDirectory>
</configuration>
</plugin>
</plugins>
</build>
...
</project>
Run Code Online (Sandbox Code Playgroud)
那么......我错过了什么?
什么可以解释一个maven-war-plugin像这样的意外行为,并默认生成一个JAR而不是一个WAR?
有没有办法强制它产生WAR?
Jaf*_*may 14
包装应如下.
<packaging>war</packaging>
Run Code Online (Sandbox Code Playgroud)
如果它没有用,那么尝试将插件配置与生命周期阶段绑定.
在你的项目定义中,请检查包装是否缺失,应该是这样的.
<groupId>some.groupid</groupId>
<artifactId>My Web Application</artifactId>
<version>0.0.1</version>
<packaging>war</packaging>
<description>My First Web Application</description>
Run Code Online (Sandbox Code Playgroud)
默认情况下,maven war plugin会绑定package phase of the lifecycle,因此重要的是我们应该在构建完成后提及我们想要的打包类型.
我想建议看一下Maven的战争插件规格.
| 归档时间: |
|
| 查看次数: |
7475 次 |
| 最近记录: |