java项目引入本地jar依赖
1、利用eclipse插件Fat jar打包jar
Fat jar 更新站点: http://kurucz-grafika.de/fatjar
步骤1:右键点击项目名称,会看到build fat jar,点击。
步骤2:配置jar的存放位置以及main类。
红框内为必填,main-class点击browse选择主类。
步骤3:选择要打包的文件以及外部jar,点击完成。
2、利用eclipse中自带的export功能
第一种情况:没有引用外部jar的项目打包
右键点击项目选择导出(export),选择java>jar文件(不是选择可运行jar文件)
选择你要导出的项目以及文件,指定文件导出路径。连续点击两个下一步后到第四步。
选择主类。
第二种情况:引用了外部jar的项目打包
步骤一:准备主清单文件 “ MAINFEST.MF ”,放在项目的文件夹下面。
(MAINFEST.MF是jar的配置文件,第一行定义版本,第二行指出外部jar的路径,第三行是主类指示,第四行是空行。)
Manifest-Version: 1.0
Class-Path: lib/RXTXcomm.jar lib/demo.jar lib/demo.jar
Main-Class: com.main.Client
书写规范:
第一行不能空,行与行之间不能有空行,每一行的最后一个字符不能是空格
最后一行一定是空行
每个属性的名称和值之间(冒号后面)一定要有空格
文件的每一行都不能超过72个字节(一般是70个ASCII字母加上回车换行符);如果72个字节不够用,则另起一行并以空格开头:以空格开头的行都被视为前一行的续行。
注意:
1、假设我们的项目打包后为KillCheatFans.jar,那么按照上面的定义,应该在 KillCheatFans.jar的同层目录下建立一个lib文件夹(即lib文件和打包的jar文件在同一个目录下),并将相关的jar包放在里面。否则将会出现“Exception in thread “main” java.lang.NoClassDefFoundError”的错误;
2、Main-Class后面是类的全地址,比如你的主文件是KillCheatFans.java,文件里打包为package com.main; 那么这里就写com.main.KillCheatFans,不要加.java后缀,主文件地址写错将会出现“找不到或无法加载主类”的错误;
3、写完Main-Class后一定要回车(即最后一行是空白行),让光标到下一行,这样你生成的jar包才能找到你的主class去运行,否则将会出现“jar中没有主清单属性”的错误。
步骤二:与没有外部jar的项目一样,像上面那样先执行到步骤三,不同的是要选着现有的清单,然后点击完成。
使用maven打包(带有外部jar包依赖)
首先我在项目根目录中创建一个lib文件夹,将jar包拷贝到lib文件夹下
然后我们在maven的pom.xml中配置
<dependency>
<groupId>自定义1</groupId>
<artifactId>自定义1</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/测试1.jar</systemPath>
</dependency>
<dependency>
<groupId>自定义2</groupId>
<artifactId>自定义2</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/测试2.jar</systemPath>
</dependency>
这里的groupId和artifactId以及version都是可以随便填写的 ,scope必须填写为system,而systemPath我们现在我们jar包的地址就可以了
最后我们必须在maven打包的过程中加入我们这个jar包,所以需要继续在pom.xml文件中添加:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
</build>
这样在使用maven打包项目的时候,就可以把本地的依赖jar包一起打包