maven 解包依赖项
路过君_P 人气:0Maven是什么?
简单来说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>
加载全部内容