Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.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

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
Java maven ant运行插件更改jar_Java_Maven_Ant_Jar - Fatal编程技术网

Java maven ant运行插件更改jar

Java maven ant运行插件更改jar,java,maven,ant,jar,Java,Maven,Ant,Jar,我已经成功创建了pom.xml,它使用maven antrun插件和编译*.app文件并生成jar文件的步骤。这个jar稍后将在下一个构建生命周期中使用。问题是,当第三个jar安装到maven本地存储库时,该jar将被更改,并且不包含原始结构,如包、清单等。maven将对其进行更改。 以下是用于创建jar的POM.xml文件: <artifactId>hellojavaworld</artifactId> <packaging>jar</packagin

我已经成功创建了pom.xml,它使用maven antrun插件和编译*.app文件并生成jar文件的步骤。这个jar稍后将在下一个构建生命周期中使用。问题是,当第三个jar安装到maven本地存储库时,该jar将被更改,并且不包含原始结构,如包、清单等。maven将对其进行更改。 以下是用于创建jar的POM.xml文件:

<artifactId>hellojavaworld</artifactId>
<packaging>jar</packaging>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.8</version>
            <executions>
                <execution>
                    <phase>generate-sources</phase>
                    <configuration>
                        <tasks>
                            <property environment="env" />
                            <property name="appname" value="hellojavaworld" />
                            <echoproperties />
                            <exec dir="" executable="respawn.exe" searchpath="true">
                                <arg value="${basedir}\src\main\java\${appname}.app" />
                            </exec>
                        </tasks>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
hellojavaworld
罐子
org.apache.maven.plugins
maven antrun插件
1.8
生成源
跑
编译器respawn.exe创建了正确的hellojavaworld.jar。当我执行

mvn清洁安装

它在my…/.m2/存储库中创建hellojavaworld-0.0.1-SNAPSHOT.jar,但这不是原始/正确的jar文件。它由Maven更改,不适用于以后的依赖项

问题是:


如何告诉Maven使用正确的jar文件或将其复制到本地存储库?

respawn.exe做什么?您是说它已经创建了jar文件……而给定的打包
jar
是错误的,因为在这种情况下构建生命周期将运行(编译、测试.jar打包等)这会产生一个jar文件,它是由maven创建的,而不是由respawn.exe创建的…如果您只是想通过respawn.exe创建jar文件,只需使用,而不是使用jar生命周期绑定…Hi@khmarbaise,我需要调用respawn.exe来创建一个jar,稍后在项目构建中使用。我不确定mavev helper插件是否能做到这一点。使用ant run插件是因为可以调用exe程序。Maven helper插件只是解决了依赖性问题。你同意吗?也许有解决方案可以使用Maven安装插件。我使用AntRun插件创建了jar,然后使用mvn install:install file命令,本地存储库中的jar文件是正确的!!!让我试试这个。