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 Optional<Foo>转换成List<Bar>的实例方法
Jun 20 Java/Android
浅谈Python魔法方法
Jun 28 Java/Android
Java使用jmeter进行压力测试
Jul 09 Java/Android
浅谈sql_@SelectProvider及使用注意说明
Aug 04 Java/Android
Java面试题冲刺第十九天--数据库(4)
Aug 07 Java/Android
SpringCloud之@FeignClient()注解的使用方式
Sep 25 Java/Android
JPA 通过Specification如何实现复杂查询
Nov 23 Java/Android
springboot应用服务启动事件的监听实现
Apr 06 Java/Android
Flutter Navigator 实现路由传递参数
Apr 22 Java/Android
mybatis 获取更新记录的id
May 20 Java/Android
Java Spring Boot请求方式与请求映射过程分析
Jun 25 Java/Android
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
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
Terran建筑一览
2020/03/14 星际争霸
PHP 5.0对象模型深度探索之对象复制
2008/03/27 PHP
cmd下运行php脚本
2008/11/25 PHP
8个出色的WordPress SEO插件收集
2011/02/26 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
fgetcvs在linux的问题
2012/01/15 PHP
php中字符串和正则表达式详解
2014/10/23 PHP
PHP文件上传判断file是否己选择上传文件的方法
2014/11/10 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
2016/02/26 PHP
用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
2009/12/27 Javascript
jquery之empty()与remove()区别说明
2010/09/10 Javascript
鼠标放在图片上显示大图的JS代码
2013/03/26 Javascript
DIV始终居中的js代码
2014/02/17 Javascript
jquery 操作css样式、位置、尺寸方法汇总
2014/11/28 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
2016/05/03 Javascript
关于微信中a链接无法跳转问题
2016/08/02 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
jQuery实现鼠标移入移出事件切换功能示例
2018/09/06 jQuery
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
layui字体图标 loading图标静止不旋转的解决方法
2019/09/23 Javascript
JS forEach跳出循环2种实现方法
2020/06/24 Javascript
ant design vue导航菜单与路由配置操作
2020/10/28 Javascript
用Python计算三角函数之atan()方法的使用
2015/05/15 Python
apache部署python程序出现503错误的解决方法
2017/07/24 Python
纯用NumPy实现神经网络的示例代码
2018/10/24 Python
python实现简单的文字识别
2018/11/27 Python
Python3如何判断三角形的类型
2020/04/12 Python
matplotlib.pyplot.matshow 矩阵可视化实例
2020/06/16 Python
Python 实现简单的客户端认证
2020/07/29 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
2020/08/05 Python
聊聊python中的循环遍历
2020/09/07 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
2020/11/22 Python
纪伊国屋泰国网上书店:Kinokuniya泰国
2017/12/24 全球购物
学生自我评价范文
2014/02/02 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
用Python selenium实现淘宝抢单机器人
2021/06/18 Python