1

我使用创建 jar 的外部程序。此操作的代码如下:

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

创建的 jar 由 respawn.exe 生成,稍后在构建过程中使用。我想使用最合适的方法,将 3rd 方 jar 安装到本地 maven 存储库。为此,使用以下命令:

mvn install:install-file -Dfile...

这按设计工作。我想创建将在构建期间使用的 pom.xml 文件(父子),因此创建的 jar 将被复制到本地 maven 存储库。我做不到,因为 maven 创建了自己的 jar 并复制到本地存储库。问题是如何更改 Maven 以使用不同的 jar?我不想复制创建 maven 的 jar,因为它与 respawn.exe 创建的 jar 不同。

罐子比较 这个链接描述了这些罐子的区别。您可以看到右侧的 jar(maven 本地存储库)缺少带有适当类的 abc 文件夹。

问题是为什么?

4

1 回答 1

0

Maven 会将 Java 源文件 ( *.java)src/main/javatarget/classes. 这些类将被 Maven 打包到 jar 中。

PS这里只显示了 Maven 默认位置。

查看您的问题,您似乎没有 Java 源文件。

于 2015-10-12T14:26:57.657 回答