Maven打包可执行jar,同时指定依赖的jar
2015-08-04 16:19
369 查看
在pom的plugins中配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- 打包jar文件时,配置manifest文件,加入lib包的jar依赖 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>主类的完全路径名</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<!-- 拷贝依赖的jar包到lib目录 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>
${project.build.directory}/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- 解决资源文件的编码问题 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.3</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
执行mvn package以后,会在target下生成可执行jar以及lib,lib里包含依赖的jar.
可执行的jar如果解开看的话会发现里面Main-Class以及Class-Path都已经设置好了,后者指向当前路径的lib路径下的依赖jar
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- 打包jar文件时,配置manifest文件,加入lib包的jar依赖 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>主类的完全路径名</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<!-- 拷贝依赖的jar包到lib目录 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>
${project.build.directory}/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- 解决资源文件的编码问题 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.3</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
执行mvn package以后,会在target下生成可执行jar以及lib,lib里包含依赖的jar.
可执行的jar如果解开看的话会发现里面Main-Class以及Class-Path都已经设置好了,后者指向当前路径的lib路径下的依赖jar
相关文章推荐
- Phoneline
- 杭电2552 三足鼎立
- 数据存储方案之-CoreData的简单使用
- 一位ACMer过来人的心得
- 初进职场我们该怎么做到最好
- hdoj 超级楼梯 2041
- Java中byte与16进制字符串的互换原理
- Java中byte与16进制字符串的互换原理 分类: Java 2015-08-04 16:19 1人阅读 评论(0) 收藏
- AD834+表面声波滤波器调试小结
- jquery多个参数以及参数个数不一样的回调函数(使用hash对象)
- linux 克隆:device eth0 does not seem to be present,delaying initialization
- RadialGradient 环形渲染
- android系统启动过程
- html标签的简单介绍和使用3
- 【OpenCV、Cximage、Mat】访问图像中每个像素的值
- ANDROID批量文件上传(附Demo文件)
- VB加密算法改成java
- Ofbiz 定时任务配置规则
- Android4.4深入浅出之SurfaceFlinger框架-渲染一个surface(二)
- android Manager