Maven打包可执行jar,同时指定依赖的jar
2017-01-04 16:45
489 查看
在pom的plugins中配置
[html] view
plain copy
<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路径下
[html] view
plain copy
<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路径下
相关文章推荐
- Maven打包可执行jar,同时指定依赖的jar
- maven项目常用技巧:将依赖打包到文件夹并生产可执行的jar
- maven-assembly-plugin 打包可执行jar(fat jar)和配置文件与jar同时打包部署
- Maven使用maven-shade-plugin对java工程及其全部依赖打包可执行jar
- Maven打包可执行的jar文件(包含所有依赖和不存在spring无法解析schema)
- Java之——使用 maven 插件 maven-shade-plugin 对可执行 java 工程及其全部依赖 jar 进行打包
- Maven打包可执行jar,包含依赖jar包
- 使用 maven 插件 maven-shade-plugin 对可执行 java 工程及其全部依赖 jar 进行打包
- 构建工具-Maven-使用maven-assembly-plugin将依赖打包进jar并指定JDK版本
- maven项目,多个依赖,打成一个可执行jar包,可根据profiles进行打包,出现的Could not find or load main class的解决方法。
- 使用 maven 插件 maven-shade-plugin 对可执行 java 工程及其全部依赖 jar 进行打包
- maven打包一个包含依赖jar包的可执行jar
- maven 打包时复制依赖的jar到指定的文件
- maven-assembly-plugin 打包可执行jar(fat jar)和配置文件与jar同时打包部署
- maven项目打包为含依赖的可执行jar
- Eclipse Maven工程 打包jar文件(包含依赖jar) 打包过程与执行说明
- 如何将maven项目包含工程依赖打包成可执行的jar
- Maven打包包含依赖的可执行Jar – Maven Assembly Plugin
- 使用 maven 插件 maven-shade-plugin 对可执行 java 工程及其全部依赖 jar 进行打包
- maven 打包可执行jar的方法