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
Ant构建作为多模块maven构建的一部分失败_Maven_Ant_Maven Antrun Plugin - Fatal编程技术网

Ant构建作为多模块maven构建的一部分失败

Ant构建作为多模块maven构建的一部分失败,maven,ant,maven-antrun-plugin,Maven,Ant,Maven Antrun Plugin,我有一个多模块maven项目。在父级上构建POM应该构建所有子模块,最后构建一个子模块,该子模块准备一个可执行jar。最后一个模块包括一个ant脚本,它运行一个可执行文件,当从父级运行时将不工作,但当子级的POM单独运行时将工作。我假设问题是maven类路径问题 POM的antrun部分为: <plugin> <groupId>org.apache.maven.plugins</groupId> <arti

我有一个多模块maven项目。在父级上构建POM应该构建所有子模块,最后构建一个子模块,该子模块准备一个可执行jar。最后一个模块包括一个ant脚本,它运行一个可执行文件,当从父级运行时将不工作,但当子级的POM单独运行时将工作。我假设问题是maven类路径问题

POM的antrun部分为:

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
                <!-- Clean execution is here-->

                <execution>
                    <id>compile</id>
                    <phase>package</phase>
                    <configuration>
                        <target>
                            <!-- I have tried commenting out the following 4 lines but this does not work.-->
                            <property name="compile_classpath" refid="maven.compile.classpath" />
                            <property name="runtime_classpath" refid="maven.runtime.classpath" />
                            <property name="test_classpath" refid="maven.test.classpath" />
                            <property name="plugin_classpath" refid="maven.plugin.classpath" />
                            <property name="buildConfig" value="${buildConfig}" />
                            <property name="buildversion" value="${currentVersion}" />
                            <ant antfile="${basedir}/ANT FILE NAME.xml">
                                <target name="all" />
                            </ant>
                        </target>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

有什么想法吗?

试试下面的exec版本:

<exec executable="cmd" dir="${basedir}/bin" failonerror="true">
    <arg value="/c" />
    <arg value="start.bat" />
    <arg value="-server" />
    <arg value="-createscript" />
    <arg value="${distdir.product}/bin/startserver.bat" />
</exec>

尝试以下exec版本:

<exec executable="cmd" dir="${basedir}/bin" failonerror="true">
    <arg value="/c" />
    <arg value="start.bat" />
    <arg value="-server" />
    <arg value="-createscript" />
    <arg value="${distdir.product}/bin/startserver.bat" />
</exec>


它现在在独立版本上也会失败。“exec returned:1”我将在命令行上试一试,看看明天会出现什么错误。请确保
dir=“.”“
是正确的。看起来有点奇怪。它可能是:
dir=“${basedir}”
?下面的方法奏效了:它现在在独立构建中也失败了。“exec returned:1”我将在命令行上试一试,看看明天会出现什么错误。请确保
dir=“.”“
是正确的。看起来有点奇怪。它可能是:
dir=“${basedir}”
?以下方法有效:
<exec executable="cmd" dir="${basedir}/bin" failonerror="true">
    <arg value="/c" />
    <arg value="start.bat" />
    <arg value="-server" />
    <arg value="-createscript" />
    <arg value="${distdir.product}/bin/startserver.bat" />
</exec>