Java——maven多模块项目打jar包如何把依赖包也打包进去

简介: Java——maven多模块项目打jar包如何把依赖包也打包进去

Maven中,主要有3个插件可以用来打包:

1.maven-jar-plugin,默认的打包插件,用来打普通的project JAR包;
2.maven-shade-plugin,用来打可执行JAR包,也就是所谓的fat JAR包;
3.maven-assembly-plugin,支持自定义的打包结构,也可以定制依赖项等。

使用maven-assembly-plugin插件可以定制依赖:

<!-- maven 打包集成插件 -->
<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <executions>
    <execution>
      <!-- 绑定到package生命周期 -->
      <phase>package</phase>
      <goals>
        <!-- 只运行一次 -->
        <goal>single</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <descriptorRefs>
      <!-- 将依赖一起打包到 JAR -->
      <descriptorRef>jar-with-dependencies</descriptorRef>
    </descriptorRefs>
    <archive>
      <manifest>
        <!-- 配置主程序 java -jar 默认Class -->
        <addClasspath>true</addClasspath>
        <classpathPrefix>lib/</classpathPrefix>
        <mainClass>com.xx.xx.xx</mainClass>
      </manifest>
    </archive>
  </configuration>
</plugin>
相关文章
|
4月前
|
Java Maven 容器
java依赖冲突解决问题之Maven在编译打包过程中对依赖的jar包如何解决
java依赖冲突解决问题之Maven在编译打包过程中对依赖的jar包如何解决
|
15天前
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
39 3
|
1月前
|
Java Maven Android开发
【Azure Developer】VS Code打包Java maven Project 遇见 BUILD FAILURE
Unknown lifecycle phase "lean". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>
|
2月前
|
存储 数据可视化 Java
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
如何在Linux系统下部署和运行Java项目jar包,包括传输文件到Linux、使用nohup命令运行jar包、查看端口状态、杀死进程和查看项目运行状态,以及如何解决“没有主清单属性”的错误。
503 1
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
|
20天前
|
Java 持续交付 项目管理
使用Maven进行项目管理:提高Java Web开发的效率
Maven 是一款强大的项目管理和构建自动化工具,广泛应用于Java社区。它通过依赖管理、构建生命周期管理、插件机制和多模块项目支持等功能,简化了项目的构建过程,提高了开发效率。本文将介绍Maven的核心功能及其在Java Web开发中的应用。
43 0
|
2月前
|
Java Shell Maven
Flink-11 Flink Java 3分钟上手 打包Flink 提交任务至服务器执行 JobSubmit Maven打包Ja配置 maven-shade-plugin
Flink-11 Flink Java 3分钟上手 打包Flink 提交任务至服务器执行 JobSubmit Maven打包Ja配置 maven-shade-plugin
112 4
|
3月前
|
Java 数据库连接 Maven
【Java笔记+踩坑】Maven高级
分模块开发、依赖传递与冲突问题、 可选依赖和排除依赖、聚合和继承、属性、多环境配置与应用、私服安装和使用
【Java笔记+踩坑】Maven高级
|
缓存
Java---设计模块(单例的变形)(多例2)
Java---设计模块(单例的变形)(多例)
121 0
|
设计模式 缓存
Java---设计模块(单例的变形)(多例1)
Java---设计模块(单例的变形)(多例)
127 0
|
缓存 容器 设计模式
Java---设计模块(单例的变形)(多例)
设计模式1——单例变形(多例) 缓存在单例中的使用 缓存在编程中使用很频繁,有着非常重要的作用,它能够帮助程序实现以空间换取时间,通常被设计成整个应用程序所共享的一个空间,现要求实现一个用缓存存放单例对象的类。
902 0

推荐镜像

更多
下一篇
无影云桌面