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中一些比较常用的注解总结
Jun 11 Java/Android
mybatis 获取无数据的字段不显示的问题
Jul 15 Java/Android
java设计模式--原型模式详解
Jul 21 Java/Android
mybatis3中@SelectProvider传递参数方式
Aug 04 Java/Android
SpringBoot整合Mybatis Generator自动生成代码
Aug 23 Java/Android
Jpa Specification如何实现and和or同时使用查询
Nov 23 Java/Android
java协程框架quasar和kotlin中的协程对比分析
Feb 24 Java/Android
Spring事务管理下synchronized锁失效问题的解决方法
Mar 31 Java/Android
springboot应用服务启动事件的监听实现
Apr 06 Java/Android
教你在 Java 中实现 Dijkstra 最短路算法的方法
Apr 08 Java/Android
Android 界面一键变灰 深色主题工具类
Apr 28 Java/Android
tree shaking对打包体积优化及作用
Jul 07 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
jquery选择器的选择使用及性能介绍
2013/01/16 Javascript
JavaScript去除空格的三种方法(正则/传参函数/trim)
2013/02/06 Javascript
使用GruntJS构建Web程序之合并压缩篇
2014/06/06 Javascript
javascript中bind函数的作用实例介绍
2014/09/28 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
2016/04/17 Javascript
Bootstrap3 内联单选和多选框
2016/12/29 Javascript
使用AngularJS2中的指令实现按钮的切换效果
2017/03/27 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
jstree单选功能的实现方法
2017/06/07 Javascript
javascript实现Emrips反质数枚举的示例代码
2017/12/06 Javascript
jQuery实现菜单的显示和隐藏功能示例
2018/07/24 jQuery
JavaScript常见鼠标事件与用法分析
2019/01/03 Javascript
vue权限管理系统的实现代码
2019/01/17 Javascript
JSON.stringify()方法讲解
2019/01/31 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
[01:00]选手抵达华西村 整装待发备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
[39:08]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第一场 12.12
2020/12/16 DOTA
python简单文本处理的方法
2015/07/10 Python
django在接受post请求时显示403forbidden实例解析
2018/01/25 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
python 借助numpy保存数据为csv格式的实现方法
2018/07/04 Python
Python3.5 处理文本txt,删除不需要的行方法
2018/12/10 Python
Python列表如何更新值
2020/05/27 Python
CSS3圆角边框和边界图片效果实例
2016/07/01 HTML / CSS
CSS3自定义滚动条样式 ::webkit-scrollbar的示例代码详解
2020/06/01 HTML / CSS
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
办理退休介绍信
2014/01/09 职场文书
教师一岗双责责任书
2014/04/16 职场文书
本科应届生自荐信
2014/06/29 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
安全月宣传标语
2014/10/07 职场文书
安全生产先进个人事迹材料
2014/12/30 职场文书
学雷锋献爱心倡议书
2015/04/27 职场文书
二审答辩状范文
2015/05/22 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书