maven 解包依赖项中的文件的解决方法


Posted in Java/Android onJuly 15, 2022

Maven是什么?

简单来说Maven是java中的一种项目管理、项目构建、依赖管理的工具。

为什么使用Maven?

因为Maven让我们的项目带来更多的方便,我们把所有的依赖放在Maven的依赖管理文件中(pom),这样Maven帮我们管理依赖。

Maven的作用是什么?

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven是一站式的项目的管理软件,主要的功能:项目的创建、jar包管理、项目打包、发布、部署等功能。

Maven的优点和缺点

优点:

  • 简化了项目依赖管理
  • 便于项目升级,无论是项目本身升级还是项目使用的依赖升级
  • maven有很多插件,便于功能扩展,eg:生产站点、自动发布版本

缺点:

  • maven是一个庞大的构建系统,学习难度大
  • 虽然上手容易,但是一旦出了问题,难于调试
  • 当依赖很多时,m2eclipse老是搞得Eclipse很卡

下面看下maven 解包依赖项中的文件的解决方法,内容如下所示:

插件

maven-dependency-plugin:2.8

解包当前模块依赖的maven模块中的文件

使用goal:unpack-dependencies
在配置参数includeArtifactIds中指定要解包的模块制件ID

<build>
	<plugins>
		<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>unpack-dependencies</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>unpack-dependencies</goal>
                    </goals>
                    <configuration>
                        <includeArtifactIds>my-maven-module</includeArtifactIds>
                        <outputDirectory>${project.build.directory}/classes</outputDirectory>
                    </configuration>
                </execution>
			</executions>
        </plugin>
    </plugins>
</build>

解包指定maven模块中的文件

使用goal:unpack
可以指定非当前模块所以来的maven模块

<build>
	<plugins>
		<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>unpack</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>unpack</goal>
                    </goals>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>org.my-project</groupId>
                                <artifactId>my-maven-module</artifactId>
                                <outputDirectory>${project.build.directory}/classes</outputDirectory>
                                <includes>lib/mylib.so</includes>
                            </artifactItem>
                        </artifactItems>
                    </configuration>
                </execution>
			</executions>
        </plugin>
    </plugins>
</build>

到此这篇关于maven 解包依赖项中的文件的文章就介绍到这了,更多相关maven 解包依赖项内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Java/Android 相关文章推荐
Java elasticsearch安装以及部署教程
Jun 28 Java/Android
swagger如何返回map字段注释
Jul 03 Java/Android
springboot+WebMagic+MyBatis爬虫框架的使用
Aug 07 Java/Android
SpringBoot中使用Redis作为全局锁示例过程
Mar 24 Java/Android
Spring Boot 底层原理基础深度解析
Apr 03 Java/Android
SpringCloud项目如何解决log4j2漏洞
Apr 10 Java/Android
java高级用法JNA强大的Memory和Pointer
Apr 19 Java/Android
Jmerte 分布式压测及分布式压测配置
Apr 30 Java/Android
Java处理延时任务的常用几种解决方案
Jun 01 Java/Android
Springboot中如何自动转JSON输出
Jun 16 Java/Android
SpringBoot详解整合Redis缓存方法
Jul 15 Java/Android
JDK8中String的intern()方法实例详细解读
Sep 23 Java/Android
SpringBoot详解自定义Stater的应用
Jul 15 #Java/Android
MyBatis XPathParser解析器使用范例详解
Jul 15 #Java/Android
SpringBoot接入钉钉自定义机器人预警通知
Jul 15 #Java/Android
SpringBoot深入分析讲解监听器模式下
Jul 15 #Java/Android
tree shaking对打包体积优化及作用
Jul 07 #Java/Android
MyBatis在注解上使用动态SQL方式(@select使用if)
Jul 07 #Java/Android
一文了解Java动态代理的原理及实现
Jul 07 #Java/Android
You might like
php多用户读写文件冲突的解决办法
2013/11/06 PHP
深入理解php printf() 输出格式化的字符串
2016/05/23 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
2016/06/13 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
详解Laravel设置多态关系模型别名的方式
2019/10/17 PHP
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
jquery带翻页动画的电子杂志代码分享
2015/08/21 Javascript
jQuery实现表单步骤流程导航代码分享
2015/08/28 Javascript
JavaScript如何实现对数字保留两位小数一位自动补零
2015/12/18 Javascript
基于JavaScript实现树形下拉框
2016/08/10 Javascript
js 弹出虚拟键盘修改密码的简单实例
2016/10/10 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
详解Nuxt.js中使用Element-UI填坑
2019/09/06 Javascript
基于vue实现图片验证码倒计时60s功能
2019/12/10 Javascript
小程序角标的添加及绑定购物车数量进行实时更新的实现代码
2020/12/07 Javascript
使用Typescript开发微信小程序的步骤详解
2021/01/12 Javascript
[04:10]2016国际邀请赛中国区预选赛第二日TOP10精彩集锦
2016/06/28 DOTA
centos系统升级python 2.7.3
2014/07/03 Python
详解python中init方法和随机数方法
2019/03/13 Python
python 求一个列表中所有元素的乘积实例
2019/06/11 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
2020/03/02 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
python torch.utils.data.DataLoader使用方法
2020/04/02 Python
在PyCharm中安装PaddlePaddle的方法
2021/02/05 Python
DAWGS鞋官方网站:鞋,凉鞋,靴子
2016/10/04 全球购物
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
家长会学生家长演讲稿
2013/12/29 职场文书
大学生个人求职口试自我评价
2014/02/16 职场文书
车辆工程专业求职信
2014/06/14 职场文书
出租车拒载检讨书
2015/01/28 职场文书
食堂采购员岗位职责
2015/04/03 职场文书
争做文明公民倡议书
2019/06/24 职场文书
PyCharm 配置SSH和SFTP连接远程服务器
2022/05/11 Python