当我尝试从netbeans构建耳朵项目时,为什么maven ear plugin会运行战争:war(插件目标)
我的过程:
我右键单击ear项目(列出了war依赖项),然后首先单击Clean,然后右键单击它并选择Build with Dependencies。然后它使用战争再次建立战争:战争,它需要时间。即使战争没有变化,但会重新创造它。
这就是它所说的:
----------------------------------------------- -------------------------建立finweb 1.0-SNAPSHOT -------------------------------------------------- ---------------------- org.netbeans.external的POM:jdom-1.0:jar:RELEASE71缺少, 没有可用的依赖信息POM for 缺少com.ibm:com.ibm.mq:jar:6.0.2.5,没有依赖信息 可用缺少com.ibm:com.ibm.mqbind:jar:6.0.2.5的POM, 没有可用的依赖信息POM for net.sf.saxon:saxon:jar:10.0-b19丢失,没有依赖信息 可用
[依赖性:复制]
[resources:resources]使用'UTF-8'编码复制过滤 资源。跳过不存在的resourceDirectory C:\贝塔\鳍\ finweb \ SRC \主\资源
[compiler:compile]无需编译 - 所有类都是最新的
[resources:testResources]使用'UTF-8'编码来复制过滤的 资源。跳过不存在的resourceDirectory C:\贝塔\鳍\ finweb \ SRC \测试\资源
[compiler:testCompile]无需编译 - 所有类都是最新的
[surefire:test]没有测试可以运行。 Surefire报告目录: C:\贝塔\鳍\ finweb \目标\万无一失的报告
----------------------------------------------- --------测试 -------------------------------------------------- -----没有测试可以运行。
结果:
测试运行:0,失败:0,错误:0,跳过:0
[war:war]打包webapp组装webapp [finweb] in [C:\ Beta \ fin \ finweb \ target \ finweb-1.0-SNAPSHOT]处理战争 项目复制webapp资源 [C:\ Beta \ fin \ finweb \ src \ main \ webapp] Webapp汇编于[109467 msecs]建立战争: C:\ Beta \ fin \ finweb \ target \ finweb-1.0-SNAPSHOT.war WEB-INF \ web.xml 已添加,跳过
[install:install]安装 C:\ Beta \ fin \ finweb \ target \ finweb-1.0-SNAPSHOT.war到C:\ Documents 和 Settings.m2 \库\ COM \比较\ finweb \ 1.0-SNAPSHOT \ finweb-1.0-SNAPSHOT.war 将C:\ Beta \ fin \ finweb \ pom.xml安装到C:\ Documents和 设置\ 5510041.m2 \库\ COM \排版\ finweb \ 1.0-SNAPSHOT \ finweb-1.0-SNAPSHOT.pom
因此,如果没有什么可以编译的话,为什么如果它已经制作并且没有任何变化,它会再次制造战争。这是默认行为,看看编译:编译时如果没有任何需要它不编译那么为什么战争:战争做到了,它是不是很聪明,能做到这一点吗?
如果我错了,请纠正我提前致谢..
赛。
答案 0 :(得分:3)
这可以被视为解决方法 以下配置将加快您的构建时间。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<useCache>true</useCache>
<recompressZippedFiles>false</recompressZippedFiles>
</configuration>
</plugin>
参考:https://maven.apache.org/plugins/maven-war-plugin/war-mojo.html
此外,我期待着轻松跳过战争的方式:来自maven默认构建生命周期的战争阶段。
答案 1 :(得分:1)
您的关注点可以被理解。但原则上maven-war-plugin并不知道生成的WAR工件将与之前构建的工件相同,因为:
MANIFEST
条目。因此每次重建战争都更安全。在现代平台上,这实际上可以忽略不计。