认真阅读完这篇文章熟练掌握项目打jar包的各种方法
【摘要】 认真阅读完这篇文章熟练掌握项目打jar包的各种方法
(1)jar 打包文件
C:\jar\img>jar -cvfe i.jar m.txt .
已添加清单
正在添加: g1.gif(输入 = 10602) (输出 = 8118)(压缩了 23%)
正在添加: g1.png(输入 = 3505) (输出 = 3492)(压缩了 0%)
正在添加: g10.png(输入 = 4159) (输出 = 4164)(压缩了 0%)
正在添加: g11.png(输入 = 3868) (输出 = 3860)(压缩了 0%)
正在添加: g12.png(输入 = 3823) (输出 = 3828)(压缩了 0%)
正在添加: g13.png(输入 = 4405) (输出 = 4410)(压缩了 0%)
正在添加: g14.png(输入 = 3284) (输出 = 3270)(压缩了 0%)
正在添加: g15.png(输入 = 3616) (输出 = 3621)(压缩了 0%)
正在添加: g16.png(输入 = 4165) (输出 = 4170)(压缩了 0%)
正在添加: g17.png(输入 = 3839) (输出 = 3836)(压缩了 0%)
正在添加: g18.png(输入 = 4661) (输出 = 4655)(压缩了 0%)
正在添加: g19.png(输入 = 4251) (输出 = 4256)(压缩了 0%)
正在添加: g2.png(输入 = 4017) (输出 = 4022)(压缩了 0%)
正在添加: g3.png(输入 = 4232) (输出 = 4218)(压缩了 0%)
正在添加: g4.png(输入 = 4423) (输出 = 4408)(压缩了 0%)
正在添加: g5.png(输入 = 3880) (输出 = 3885)(压缩了 0%)
正在添加: g6.png(输入 = 4172) (输出 = 4177)(压缩了 0%)
正在添加: g7.png(输入 = 3761) (输出 = 3766)(压缩了 0%)
正在添加: g8.png(输入 = 4063) (输出 = 4044)(压缩了 0%)
正在添加: g9.png(输入 = 3962) (输出 = 3967)(压缩了 0%)
C:\jar\img>cd ..
C:\jar>jar -cvfe i.jar m.txt img
已添加清单
正在添加: img/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: img/g1.gif(输入 = 10602) (输出 = 8118)(压缩了 23%)
正在添加: img/g1.png(输入 = 3505) (输出 = 3492)(压缩了 0%)
正在添加: img/g10.png(输入 = 4159) (输出 = 4164)(压缩了 0%)
正在添加: img/g11.png(输入 = 3868) (输出 = 3860)(压缩了 0%)
正在添加: img/g12.png(输入 = 3823) (输出 = 3828)(压缩了 0%)
正在添加: img/g13.png(输入 = 4405) (输出 = 4410)(压缩了 0%)
正在添加: img/g14.png(输入 = 3284) (输出 = 3270)(压缩了 0%)
正在添加: img/g15.png(输入 = 3616) (输出 = 3621)(压缩了 0%)
正在添加: img/g16.png(输入 = 4165) (输出 = 4170)(压缩了 0%)
正在添加: img/g17.png(输入 = 3839) (输出 = 3836)(压缩了 0%)
正在添加: img/g18.png(输入 = 4661) (输出 = 4655)(压缩了 0%)
正在添加: img/g19.png(输入 = 4251) (输出 = 4256)(压缩了 0%)
正在添加: img/g2.png(输入 = 4017) (输出 = 4022)(压缩了 0%)
正在添加: img/g3.png(输入 = 4232) (输出 = 4218)(压缩了 0%)
正在添加: img/g4.png(输入 = 4423) (输出 = 4408)(压缩了 0%)
正在添加: img/g5.png(输入 = 3880) (输出 = 3885)(压缩了 0%)
正在添加: img/g6.png(输入 = 4172) (输出 = 4177)(压缩了 0%)
正在添加: img/g7.png(输入 = 3761) (输出 = 3766)(压缩了 0%)
正在添加: img/g8.png(输入 = 4063) (输出 = 4044)(压缩了 0%)
正在添加: img/g9.png(输入 = 3962) (输出 = 3967)(压缩了 0%)
(2)jar打包类工具包
编译程序,并打软件包utils.jar
C:\Users\Administrator\Desktop\jar>dir
驱动器 C 中的卷是 Win 10 Pro x64
卷的序列号是 D830-6A82
C:\Users\Administrator\Desktop\jar 的目录
2021/12/22 09:20 <DIR> .
2021/12/22 09:20 <DIR> ..
2021/12/22 09:20 85 Utils.java
1 个文件 85 字节
2 个目录 40,928,169,984 可用字节
C:\Users\Administrator\Desktop\jar>javac -d . *.java
C:\Users\Administrator\Desktop\jar>dir
驱动器 C 中的卷是 Win 10 Pro x64
卷的序列号是 D830-6A82
C:\Users\Administrator\Desktop\jar 的目录
2021/12/22 09:23 <DIR> .
2021/12/22 09:23 <DIR> ..
2021/12/22 09:23 <DIR> cn
2021/12/22 09:20 85 Utils.java
1 个文件 85 字节
3 个目录 40,919,842,816 可用字节
C:\Users\Administrator\Desktop\jar>jar -cvfe utils.jar m.txt cn
已添加清单
正在添加: cn/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: cn/webrx/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: cn/webrx/Utils.class(输入 = 247) (输出 = 193)(压缩了 21%)
C:\Users\Administrator\Desktop\jar>dir
驱动器 C 中的卷是 Win 10 Pro x64
卷的序列号是 D830-6A82
C:\Users\Administrator\Desktop\jar 的目录
2021/12/22 09:24 <DIR> .
2021/12/22 09:24 <DIR> ..
2021/12/22 09:23 <DIR> cn
2021/12/22 09:24 860 utils.jar
2021/12/22 09:20 85 Utils.java
2 个文件 945 字节
3 个目录 40,918,331,392 可用字节
C:\Users\Administrator\Desktop\jar>
项目使用jar
maven项目pom.xml 也可以添加依赖
<!-- maven直接引入本地jar -->
<dependency>
<groupId>cn.webrx</groupId>
<artifactId>utils</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>C:/Users/Administrator/Desktop/jar/utils.jar</systemPath>
</dependency>
(3)jar打可以执行的程序包
App.java
package cn.webrx;
public class App {
public static void main(String[] args){
System.out.println("Hello World");
}
}
C:\Users\Administrator\Desktop\jar>javac -d . *.java
C:\Users\Administrator\Desktop\jar>java cn.webrx.App
Hello World
C:\Users\Administrator\Desktop\jar>jar -cvfe app.jar cn.webrx.App cn
已添加清单
正在添加: cn/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: cn/webrx/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加: cn/webrx/App.class(输入 = 420) (输出 = 295)(压缩了 29%)
C:\Users\Administrator\Desktop\jar>java -jar app.jar
Hello World
(4) idea开发工具发行项目jar
(5) maven 打jar
打可执行的jar 在maven 执行package并打包,并执行就可以了
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.webrx</groupId>
<artifactId>app</artifactId>
<version>1.0</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<java-version>17</java-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<testSourceDirectory>src/test/java</testSourceDirectory>
<sourceDirectory>src/main/java</sourceDirectory>
<plugins>
<!-- 编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>${java-version}</source>
<target>${java-version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<!-- 打jar包插件,可以指定执行程序 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>cn.webrx.App</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
<!-- 打包时 执行程序 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<!-- test install complie package -->
<phase>package</phase>
<goals>
<goal>java</goal>
</goals>
<configuration>
<mainClass>cn.webrx.App</mainClass>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
jdeps --list-deps 00dict.jar
-- 生成jre
jlink.exe --module-path D:\jdk\jdk-17.0.1\jmods --add-modules java.base,java.desktop --output jre
dict.bat内容如下
echo off
start /b ./jre/bin/javaw.exe -jar 00dict.jar
-- 设置直接打开jar文件,
(1)右键打开方式,选择jdk\bin\javaw.exe
(2) 运行中输出regedit 注册表
找到如下配置,添加一个-jar
进入HKEY_CLASSES_ROOT\Applications\javaw.exe\shell\open\command,
修改默认的键值为 "D:\Program Files\Java\jre\bin\javaw.exe" -jar "%1" 。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)