微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 如何使用Maven创建不依赖的可执行jar?

我想将它打包在一个单独的可执行jar中进行分发.我需要一个可执行文件,像main.jar和所有的依赖项在libs / *.jar中

如何使maven可执行文件jar没有预先包含在其中依赖库?

How can I create an executable JAR with dependencies using Maven?年10月1日10时10分,有一个说明
安德烈·阿龙森(AndréAronsen),但是那个人根本不起作用(s.a.descriptorRef没有设置失败).

解决方法

你可以在一定程度上实现这一点.

首先,您将通过适当配置maven jar plugin创建一个executable jar.

然后,您将使用maven程序集插件创建一个jar依赖关系,不包括项目jar.为此,您将创建一个描述符文件,如src / main / assembly / descriptor.xml,像这样.

<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">>
  <id>jar-with-dependencies</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
    <dependencySet>
      <outputDirectory>/</outputDirectory>
      <useProjectArtifact>false</useProjectArtifact>
      <unpack>true</unpack>
      <scope>runtime</scope>
    </dependencySet>
  </dependencySets>
</assembly>

在这样的项目中使用它.

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2.1</version>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/descriptor.xml</descriptor>
          </descriptors>
        </configuration>
        [...]
</project>

您将最终获得两个jar – 一个由您的项目创建的可执行jar,另一个由程序集插件创建的jar依赖关系.

原文地址:https://www.jb51.cc/java/126044.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐