通过maven 将java程序及其依赖打成可执行jar包
程序员文章站
2022-05-01 12:39:41
...
本地lib中的jar安装进maven库 或者 通过maven配置将该路径包含 先尝试第二种
maven配置路径包含
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.xxg.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
编译时出现文件download下不来 修改maven的set.xml 增加mirror节点,我这里使用的是aliyun的在线仓库
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>-
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
- 编译器没有找到jdk或jre?
- 打开build-path 发现使用的jre为jse5 修改为本地安装的jre
1、eclipse菜单 - Window - Preferences- Java - Installed JREs 将配置的JRE定位到JDK,例如JRE home:D:\Program Files (x86)\Java\jdk1.6.0_45
2、ALT+F5 进行 update project 。
3、Debug or Run again.
- 原因是在java配置中指向的是jre目录 而不是jdk目录 编译时找不到??
- 编译器没有找到jdk或jre?
打包成功
- 实际操作过程中发现 jar包内依然没有包含所需要的依赖文件 不可以直接运行
- lib中的依赖依然需要在dependcies中添加 socpe为system指向project.basedir下的某一路径(lib)
- maven中的groupId和artifactId不要与仓库中的依赖相同
<dependency>
<groupId>junit1</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/iText-2.0.8.jar</systemPath>
</dependency>
直接将本地jar打入maven库
直接通过mvn命令将jar包加入到本地仓库 即可直接引用
- cmd界面下,载jar包所在目录运行
mvn install:install-file -DgroupId=org.lwtea
-DartifactId=IKAnalyzer -Dversion=0.0.1-SNAPSHOT
-Dpackaging=jar -Dfile=IKAnalyzer-0.0.1-SNAPSHOT.jar
- 然后直接引用即可 这样反而方便
上一篇: dubbo-maven打可执行jar包
下一篇: 使用bat快速打开应用