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 相关文章推荐
手把手教你用SpringBoot将文件打包成zip存放或导出
Jun 11 Java/Android
启动Tomcat时出现大量乱码的解决方法
Jun 21 Java/Android
详解Java实现设计模式之责任链模式
Jun 23 Java/Android
详解Java分布式事务的 6 种解决方案
Jun 26 Java/Android
Java中多线程下载图片并压缩能提高效率吗
Jul 01 Java/Android
Spring-cloud Config Server的3种配置方式
Sep 25 Java/Android
Spring Security使用单点登录的权限功能
Apr 03 Java/Android
Java8利用Stream对列表进行去除重复的方法详解
Apr 14 Java/Android
Java 异步任务计算FutureTask
Apr 28 Java/Android
Android存储中最基本的文件存储方式
Apr 30 Java/Android
SpringBoot项目部署到阿里云服务器的实现步骤
Jun 28 Java/Android
Java中的Kafka为什么性能这么快及4大核心详析
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
smarty实例教程
2006/11/19 PHP
php获取url参数方法总结
2014/11/13 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
实例讲解PHP中使用命名空间
2019/01/27 PHP
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
2011/10/29 Javascript
jquery 利用show和hidden实现级联菜单示例代码
2013/08/09 Javascript
Js nodeType 属性全面解析
2013/11/14 Javascript
JS实现静止元素自动移动示例
2014/04/14 Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
2017/07/05 Javascript
vue.js内部自定义指令与全局自定义指令的实现详解(利用directive)
2017/07/11 Javascript
jQuery实现输入框的放大和缩小功能示例
2018/07/21 jQuery
vue基础之data存储数据及v-for循环用法示例
2019/03/08 Javascript
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
VueCli4项目配置反向代理proxy的方法步骤
2020/05/17 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
[01:38]【DOTA2亚洲邀请赛】Sumail——梦开始的地方
2017/03/03 DOTA
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
pandas 读取各种格式文件的方法
2018/06/22 Python
Python全排列操作实例分析
2018/07/24 Python
对Python Class之间函数的调用关系详解
2019/01/23 Python
Django打印出在数据库中执行的语句问题
2019/07/25 Python
python多项式拟合之np.polyfit 和 np.polyld详解
2020/02/18 Python
python中怎么表示空值
2020/06/19 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
2020/09/09 Python
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
稀有和绝版书籍:Biblio.com
2017/02/02 全球购物
绘画设计学生的个人自我评价
2013/09/20 职场文书
预备党员党校学习自我评价分享
2013/11/12 职场文书
家长对孩子评语
2014/01/30 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
乡镇三项教育实施方案
2014/03/30 职场文书
小学教师师德师风个人整改措施
2014/09/18 职场文书
初婚未育证明样本
2014/10/24 职场文书
社区服务活动感想
2015/08/11 职场文书
VUE使用draggable实现组件拖拽
2022/04/06 Vue.js