信步漫谈之Maven——打可运行Jar包
目录
- 1 目标
- 2 程序结构
- 3 Maven 的 POM 脚本
- 4 打包结构
- 5 参考资料(感谢)
1 目标
将本地 lib 和依赖 jar 包一起打为一个可执行的 jar 包。
2 程序结构
主项目:com.alfred.maven.packagejar-exec
引入本地 jar 包:maven-demo01-1.0.0-SNAPSHOT.jar
引入 maven 依赖包:log4j-1.2.12.jar
- 主项目结构
com.alfred.maven.packagejar-exec
∟ lib
∟ maven-demo01-1.0.0-SNAPSHOT.jar
∟ src
∟ main
∟ java
∟ com.alfred.maven.packagejarexec
∟ Main
∟ resources
∟ log4j.properties
∟ pom.xml
- 主项目 Main 代码
package com.alfred.maven.packagejarexec;
import com.alfred.maven.demo01.MavenDemo01;
import org.apache.log4j.Logger;
/**
* @Author: alfred
* @Date: 2020/11/24
* @description:
*/
public class Main {
private static Logger logger = Logger.getLogger(Main.class);
public static void main(String[] args) {
if(args == null || args.length == 0){
logger.info("packagejar exec args is null");
}else{
logger.info("packagejar exec args.length = "+args.length);
}
logger.info("maven demo01 say:"+MavenDemo01.sayName());
}
}
- Demo01 的 MavenDemo01 代码
package com.alfred.maven.demo01;
/**
* @Author: alfred
* @Date: 2020/11/24
* @description:
*/
public class MavenDemo01 {
public static String sayName(){
return "demo01";
}
}
3 Maven 的 POM 脚本
<?xml version="1.0" encoding="UTF-8"?>
4.0.0
com.alfred.maven
maven-packagejar-exec
1.0.0-SNAPSHOT
jar
概述:【Maven技术研究】打可执行 jar 包
目标:将本地 lib 和依赖 jar 包一起打为一个可执行的 jar 包
实现效果:输入 jar 包参数,打印日志输出参数个数,并调用本地jar包打印返回信息
1)主函数:com.alfred.maven.packagejarexec.Main
2)本地依赖包路径:lib(存放demo01)
3)maven 依赖包:log4j
UTF-8
1.8
1.8
1.2.12
log4j
log4j
${log4j.version}
com.alfred.maven
maven-demo01
1.0.0-SNAPSHOT
system
${project.basedir}/lib/maven-demo01-1.0.0-SNAPSHOT.jar
maven-clean-plugin
3.1.0
auto-clean
initialize
clean
org.apache.maven.plugins
maven-jar-plugin
3.0.2
com.alfred.maven.packagejarexec.Main
com.jolira
onejar-maven-plugin
1.4.4
packagejar-exec.jar
true
onejar
one-jar
4 打包结构
packagejar-exec.jar
∟ META-INF
∟ com.simontuffs.onejar
∟ ...(打包组件的编译程序,省略)
∟ doc
∟ lib
∟ log4j-1.2.12.jar
∟ maven-demo01-1.0.0-SNAPSHOT.jar
∟ main
∟ maven-packagejar-exec-1.0.0-SNAPSHOT.jar
∟ src
∟ ...(打包组件的编译程序,省略)
5 参考资料(感谢)
将Maven项目打包成可执行jar文件(引用第三方jar)