Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 部署带有“pom”的父pom的最佳实践;支持文件“;(即外部ant文件)_Maven_Ant_Parent Pom - Fatal编程技术网

Maven 部署带有“pom”的父pom的最佳实践;支持文件“;(即外部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

我有一个父pom,部署到本地artifactory服务器。这是几个战争项目的父项目。它使用maven ant run插件并运行在名为pomfuild.xml的外部文件中定义的ant目标,如下所示:

<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>