Maven自动上传的不完整战争
为了简化Jave EE应用程序的部署过程,我指示Maven自动将生成的WAR文件复制到应用程序服务器 pom.xml:Maven自动上传的不完整战争,maven,war,Maven,War,为了简化Jave EE应用程序的部署过程,我指示Maven自动将生成的WAR文件复制到应用程序服务器 pom.xml: <plugin> <artifactId>exec-maven-plugin</artifactId> <groupId>org.codehaus.mojo</groupId> <executions>
<plugin>
<artifactId>exec-maven-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<executions>
<execution><!-- Run our version calculation script -->
<id>Copy to Application Server</id>
<phase>generate-sources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${basedir}/copy-to-appserver.sh</executable>
</configuration>
</execution>
</executions>
</plugin>
不幸的是,这失败了!WAR成功地传输到应用服务器,但它混合了新旧代码。我的假设是Maven在创建WAR的过程中尝试发送它,因为当我在部署后手动运行复制脚本copy to appserver.sh
时,应用服务器上的一切都可以正常工作
我的问题是,我必须更改什么,以便Maven只在WAR文件的创建/操作完成时访问该文件?您的插件在生成源代码阶段被过早执行 通过将阶段更改为部署,在最后阶段运行它
<phase>deploy</phase>
部署
您的插件在生成源代码阶段被过早执行
通过将阶段更改为部署,在最后阶段运行它
<phase>deploy</phase>
部署
除了在正确的阶段运行插件,如6ToT所建议的,你可能还想考虑使用它,它专门用来解决你的问题。这样,你就可以摆脱那个讨厌的、讨厌的脚本了。 < P>除了在正确的阶段运行插件,如6ToT所建议的,你也可以考虑使用它,它专门用来解决你的问题。这样,您就可以摆脱那些讨厌的脚本。我建议将构建过程和部署过程分开,因为deploy
生命周期阶段旨在将工件上载到远程存储库 我建议将构建过程和部署过程分开,因为deploy
生命周期阶段旨在将工件上载到远程存储库 嘿@6ton,谢谢你的快速回复。我将阶段更改为部署,但如果现在在NetBeans中点击清理并构建项目
,脚本复制到appserver.sh
将不再运行。现在我该如何部署WAR文件?通常的构建过程以干净安装的方式运行,安装后部署。嘿@6ton,谢谢你的快速回复。我将阶段更改为部署,但如果现在在NetBeans中点击清理并构建项目
,脚本复制到appserver.sh
将不再运行。现在我该如何部署WAR文件?通常的构建过程以干净安装、安装后部署的方式运行。