加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 14:48:19 所属栏目:Java 来源:网络整理
导读:我想将它打包在一个单独的可执行jar中进行分发.我需要一个可执行文件,像main.jar和所有的依赖项在libs / *.jar中 如何使maven可执行文件jar没有预先包含在其中依赖库? 在How can I create an executable JAR with dependencies using Maven?年10月1日10时10
我想将它打包在一个单独的可执行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依赖关系.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读