第三方Jar
非Maven
管理。在生成可单独运行Jar
(不依赖其他外部Jar
)时,可选择以下两种解决方案。
1.本地jar安装至Maven仓库
方式一:
通过命令mvn install:install-file
安装
mvn install:install-file -Dfile=(jar包的位置) -DgroupId=groupId(分组) -DartifactId=artifactId(jar名称) -Dversion=version(版本号) -Dpackaging=jar
方式二
通过maven-install-plugin
插件安装
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-install-pluginartifactId>
<version>2.5.2version>
<executions>
<execution>
<id>install-artifactId(jar名称)id>
<phase>cleanphase>
<configuration>
<file>${basedir}/lib/**.jar(jar包的位置)file>
<repositoryLayout>defaultrepositoryLayout>
<groupId>groupId(分组)groupId>
<artifactId>artifactId(jar名称)artifactId>
<version>version(版本号)version>
<packaging>jarpackaging>
<generatePom>truegeneratePom>
configuration>
<goals>
<goal>install-filegoal>
goals>
execution>
executions>
plugin>
执行mvn clean
进行安装
2.在dependencies
中引入刚安装的jar
<dependency>
<groupId>分组groupId>
<artifactId>jar名称artifactId>
<version>版本号version>
dependency>
3.引入maven-assembly-plugin
插件
<plugin>
<artifactId>maven-assembly-pluginartifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependenciesdescriptorRef>
descriptorRefs>
<archive>
<manifest>
<mainClass>mainClass>
manifest>
archive>
configuration>
<executions>
<execution>
<id>make-assemblyid>
<phase>packagephase>
<goals>
<goal>singlegoal>
goals>
execution>
executions>
plugin>
4.执行mvn package assembly:single
打包。
5.通过java -jar
或 java -cp
执行。
1.通过
引入jar
示例:
<dependencies>
<dependency>
<groupId>localgroupId>
<artifactId>commons-collectionsartifactId>
<version>3.2.2version>
<type>jartype>
<scope>systemscope>
<systemPath>${project.basedir}/lib/commons-collections-3.2.2.jarsystemPath>
dependency>
dependencies>
如下图:
2.引入maven-compiler-plugin
和maven-assembly-plugin
插件
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<version>3.7.0version>
<configuration>
<source>1.8source>
<target>1.8target>
<encoding>UTF-8encoding>
configuration>
plugin>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-assembly-pluginartifactId>
<version>3.2.0version>
<configuration>
<archive>
<manifest>
<addClasspath>trueaddClasspath>
<classpathPrefix>lib/classpathPrefix>
<mainClass>com.gm.DemomainClass>
manifest>
archive>
<descriptors>
<descriptor>src/main/resources/assembly.xmldescriptor>
descriptors>
configuration>
<executions>
<execution>
<id>make-assemblyid>
<phase>packagephase>
<goals>
<goal>singlegoal>
goals>
execution>
executions>
plugin>
plugins>
build>
3.创建assembly.xml
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>releaseid>
<formats>
<format>jarformat>
formats>
<includeBaseDirectory>falseincludeBaseDirectory>
<dependencySets>
<dependencySet>
<outputDirectory>/outputDirectory>
<useProjectArtifact>trueuseProjectArtifact>
<unpack>trueunpack>
<scope>runtimescope>
dependencySet>
<dependencySet>
<outputDirectory>/outputDirectory>
<useProjectArtifact>falseuseProjectArtifact>
<unpack>trueunpack>
<scope>systemscope>
dependencySet>
dependencySets>
assembly>
4.执行命令生成可运行的jar
mvn package assembly:single
请访问Git:https://github.com/gm19900510/local-jar-assembly-package-demo 欢迎Star