【问题标题】:Export as an executable jar file导出为可执行的 jar 文件
【发布时间】:2015-05-08 07:29:59
【问题描述】:

我有一个 Maven Eclipse 项目,我想从命令行导出为可执行 jar 文件。我在项目中也有外部库 jar。如何从命令行获取包含所有库 jar 的可执行 jar 文件?

编辑:: 现在有一个挑战。实际上有两个项目。一个是PROJECT,另一个是Project_Framework。这两个文件夹都有pom.xml。依赖关系写在pom.xmlPROJECT文件夹中。 PROJECT 依赖于 Project_Framework。添加maven-shade 插件后,它说它找不到Project_Framework 的快照依赖项。我该如何解决这个问题?

【问题讨论】:

  • @AlessandroDaRugna:这个问题对我来说是一个挑战。实际上有两个项目。一个是PROJECT,另一个是Project_Framework。这两个文件夹都有 pom.xml。依赖项写在 PROJECT 文件夹中的 pom.xml 中。我应该在哪里添加插件?这确实让我感到困惑。

标签: java eclipse bash maven executable-jar


【解决方案1】:

您必须使用 maven-shade-plugin 将所有依赖项添加到您的 jar 中。

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>1.7</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <finalName>${project.build.finalName}</finalName>
                <transformers>
                    <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                        <resource>META-INF/spring.handlers</resource>
                    </transformer>
                    <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                        <resource>META-INF/spring.schemas</resource>
                    </transformer>
                </transformers>
            </configuration>
        </plugin>

然后将目录更改为PROJECT_FRAMEWORK。然后键入

mvn install

然后,再次将目录更改为PROJECT。如果你已经添加了它,你可以简单地运行

mvn package.

【讨论】:

  • @khmarbaise:我所有的依赖都写在pom.xml。所以我相信不需要插件。我期待一个应该做的命令。
  • @NevinRaj 你需要这个插件。 maven 不将 jar 文件包含到人工制品中。这将做插件
  • @Jens 所以这个插件应该添加到pom.xml。对吗?
  • @NevinRaj 它编译你的程序。但它不包括第三方 jars。
猜你喜欢
  • 2014-08-19
  • 2023-03-21
  • 2023-03-20
  • 2016-08-15
  • 1970-01-01
  • 1970-01-01
  • 2018-01-25
  • 2012-11-23
  • 2014-05-06
相关资源
最近更新 更多