一段实用的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

相关文章

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

Flutter打包APK的几种方式小结

《Flutter打包APK的几种方式小结》Flutter打包不同于RN,Flutter可以在AndroidStudio里编写Flutter代码并最终打包为APK,本篇主要阐述涉及到的几种打包方式,通... 目录前言1. android原生打包APK方式2. Flutter通过原生工程打包方式3. Futte

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

一文教你Python引入其他文件夹下的.py文件

《一文教你Python引入其他文件夹下的.py文件》这篇文章主要为大家详细介绍了如何在Python中引入其他文件夹里的.py文件,并探讨几种常见的实现方式,有需要的小伙伴可以根据需求进行选择... 目录1. 使用sys.path动态添加路径2. 使用相对导入(适用于包结构)3. 使用pythonPATH环境

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步