Maven 部署带有“pom”的父pom的最佳实践;支持文件“;(即外部ant文件)
我有一个父pom,部署到本地artifactory服务器。这是几个战争项目的父项目。它使用maven ant run插件并运行在名为pomfuild.xml的外部文件中定义的ant目标,如下所示:Maven 部署带有“pom”的父pom的最佳实践;支持文件“;(即外部ant文件),maven,ant,parent-pom,Maven,Ant,Parent Pom,我有一个父pom,部署到本地artifactory服务器。这是几个战争项目的父项目。它使用maven ant run插件并运行在名为pomfuild.xml的外部文件中定义的ant目标,如下所示: <execution> <id>compile</id> <phase>deploy</phase> <configuration> <target if="project.is.wa
<execution>
<id>compile</id>
<phase>deploy</phase>
<configuration>
<target if="project.is.war">
<property name="compile_classpath" refid="maven.compile.classpath"/>
<ant antfile="${ant.file}" target="compileJsp"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
编译
部署
但这并不完全是我想要的。在项目的父级中定义类似antrun的东西是违反除使用antrun插件之外的任何最佳实践的……听起来你做错了……我不明白你为什么要做这样的事情?要在Maven中部署东西,只需要一个MVNDeploy
。如果你有战争包装,一切都应该工作,如果你需要这样的配置,我的假设是你做错了什么…这是一个从Ant项目到Maven项目的转换。ant脚本调用WebLogic的JSP编译。我们无法使用weblogic maven插件预编译JSP,因此我们选择使用ant方法,在第一次访问页面时将编译JSP…如Tomcat,JBoss等有…我不会在构建过程中这样做…如果它不能与weblogic maven插件一起工作,我假设你做错了…或者插件有缺陷…你真的需要这个吗?哦,不!您不能仅仅部署JSP并等待容器在第一次访问时编译它们,然后希望一切正常。在部署到生产环境之前,必须编译所有JSP,以确保没有编译错误。当然,我不会在构建过程中这样做(这会大大降低构建的速度)。难道你没有单元测试和集成测试来确保一切正常吗?因此,在此之前您已经部署到其他阶段,在此之后您可以部署到生产。。。。。
<ant.file>${user.home}/.m2/repository/${pom.parent.groupId}/${pom.parent.artifactId}/${pom.parent.version}/pombuild.xml</ant.file>