1.说明
本文介绍一下在IDEA中进行普通工具类java项目(带第三方jar包)打包操作的具体步骤。
【普通工具类java项目】:
1.引入第三方的依赖jar包;
2.java项目中没有main方法,单纯的只存在工具类及工具方法。
本文介绍的打包方法是 : 将本项目与依赖的第三方jar包
独立打包
,通过配置清单MANIFEST.MF
文件指定依赖jar包的位置。
因此,在使用目标jar包的时候,也需要引入被依赖的第三方jar包。
2.项目结构介绍
java_jar_03_without_main_with_out_jar
| -- lib : 第三方依赖包的存放位置
| -- java_jar_01_without_main_without_out_jar.jar
| -- out : 编译后的文件输出后的存放位置
| -- production
| -- test
| -- src : java源码存放位置
| -- com.northcastle.utiile03
| -- a
| -- Utile03A.java
| -- b
| -- Utile03B.java
| -- target : 存放构建后的jar包的位置
| -- xxxx.jar
Utile03A.java :
使用了引入的第三方jar包中的内容 : UtileA.sayHelloA()
package com.northcastle.utile03.a;
import com.northcastle.utile.a.UtileA;
/**
* @Classname Utile03A
* @Description TODO
* @Date 2021/11/29 16:38
* @Created by northcastle
*/
public class Utile03A {
public static void useUtileASayHello(){
System.out.println("--- Utile03A Call UtileA.sayHelloA begin ---");
UtileA.sayHelloA();
System.out.println("--- Utile03A Call UtileA.sayHelloA end ---");
}
}
Utile02B.java :
使用了引入的第三方jar包中的内容 : UtileB.sayHelloB()
package com.northcastle.utile03.b;
import com.northcastle.utile.b.UtileB;
/**
* @Classname Utile03B
* @Description TODO
* @Date 2021/11/29 16:38
* @Created by northcastle
*/
public class Utile03B {
public static void useUtileBSayHello(){
System.out.println("--- Utile03B Call UtileB.sayHelloB begin ---");
UtileB.sayHelloB();
System.out.println("--- Utile03B Call UtileB.sayHelloB begin ---");
}
}
3.导入依赖包
此步骤 在编码之前进行操作,这样在编码的时候就可以自动引入相关的类了。
- 打开工程结构设置 :
File --> Project Structure
,找到我们的当前模块信息
2.添加 准备好的 在
lib目录下的jar包
至此,需要用到的依赖包已经成功添加到项目中了。
在编码的过程中可以自动引入了。
4.打包配置
1.
File --> Project Structure
给当前要打包的模块添加一个打包配置
2.选择要打包的模块
3.确认jar包的信息
4.给第三方的依赖jar包创建目录,并拖放到目录下
在这里插入图片描述
5.修改依赖jar包的
class path
至此,打包的配置操作就结束了。
5.执行打包操作
1.
Build --> Build Artifacts
在弹出框中选择我们要打包的模块
2.点击Build
执行打包即可
3.构建完成后,可以看到生成的jar包了
4.查看打包的内容
6.校验打包效果
校验打包效果的思路 :
在其他项目中引用我们生成的jar包,可以正常使用
。
1.测试使用jar包的项目结构:
因为java_jar_03_without_main_with_out_jar_jar.jar
需要依赖到java_jar_01_without_main_without_out_jar.jar
,
所以两个jar包都需要导入进来。
java_jar_use
| -- lib
| -- java_jar_01_without_main_without_out_jar.jar
| -- java_jar_03_without_main_with_out_jar_jar.jar
| -- src
| -- com.northcastle
| -- Application.java
2.Application.java 代码
package com.northcastle;
import com.northcastle.utile03.a.Utile03A;
import com.northcastle.utile03.b.Utile03B;
/**
* @Classname Application
* @Description TODO
* @Date 2021/11/29 16:07
* @Created by northcastle
*/
public class Application {
public static void main(String[] args) {
//3.有第三方依赖、无main方法的工具包02 - 依赖包 和 目标jar包 分开的
Utile03A.useUtileASayHello();
Utile03B.useUtileBSayHello();
}
}
3.因为当前打包的方式是
分开依赖
的方式,所以在使用的时候需要引入所有相关的jar包
。
7.完成
Congratulations!
You are one step closer to success!