一段实用的maven pom:将项目依赖打包到文件夹或打入jar中

2024-03-28 17:08

本文主要是介绍一段实用的maven pom:将项目依赖打包到文件夹或打入jar中,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用了maven-assembly-plugin插件和maven-dependency-plugin:

[html]  view plain  copy
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
  2.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">    
  3.     <modelVersion>4.0.0</modelVersion>    
  4.     <groupId>net.aty.deps</groupId>    
  5.     <artifactId>MyJar</artifactId>    
  6.     <packaging>jar</packaging>    
  7.     <version>0.0</version>    
  8.     
  9.     <dependencies>    
  10.         <dependency>  
  11.             <groupId>org.apache.httpcomponents</groupId>  
  12.             <artifactId>httpclient</artifactId>  
  13.             <version>4.3.6</version>  
  14.         </dependency>  
  15.     </dependencies>    
  16.     
  17.     <build>    
  18.         <plugins>   
  19.               
  20.             <plugin>  
  21.                 <groupId>org.apache.maven.plugins</groupId>  
  22.                 <artifactId>maven-dependency-plugin</artifactId>  
  23.                 <executions>  
  24.                     <execution>  
  25.                         <id>copy-dependencies</id>  
  26.                         <phase>prepare-package</phase>  
  27.                         <goals>  
  28.                             <goal>copy-dependencies</goal>  
  29.                         </goals>  
  30.                         <configuration>  
  31.                             <outputDirectory>${project.build.directory}/lib</outputDirectory>  
  32.                             <overWriteReleases>false</overWriteReleases>  
  33.                             <overWriteSnapshots>false</overWriteSnapshots>  
  34.                             <overWriteIfNewer>true</overWriteIfNewer>  
  35.                         </configuration>  
  36.                     </execution>  
  37.                 </executions>  
  38.             </plugin>  
  39.               
  40.               
  41.             <plugin>    
  42.                 <artifactId>maven-assembly-plugin</artifactId>    
  43.                 <configuration>    
  44.                     <descriptorRefs>    
  45.                         <descriptorRef>jar-with-dependencies</descriptorRef>    
  46.                     </descriptorRefs>    
  47.                     <archive>    
  48.                         <manifest>    
  49.                           <mainClass></mainClass>    
  50.                         </manifest>    
  51.                     </archive>    
  52.                 </configuration>    
  53.                 <executions>    
  54.                     <execution>    
  55.                         <id>make-assembly</id>    
  56.                         <phase>package</phase>    
  57.                         <goals>    
  58.                             <goal>single</goal>    
  59.                         </goals>    
  60.                     </execution>    
  61.               </executions>    
  62.             </plugin>   
  63.               
  64.         </plugins>  
  65.     </build>    
  66. </project>   



执行mvn clean package命令,我们就可以得到如下结果:

这篇关于一段实用的maven pom:将项目依赖打包到文件夹或打入jar中的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/856200

相关文章

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Spring-DI依赖注入全过程

《Spring-DI依赖注入全过程》SpringDI是核心特性,通过容器管理依赖注入,降低耦合度,实现方式包括组件扫描、构造器/设值/字段注入、自动装配及作用域配置,支持灵活的依赖管理与生命周期控制,... 目录1. 什么是Spring DI?2.Spring如何做的DI3.总结1. 什么是Spring D

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.