项目打jar包的各种方法
时间:2022-11-04 15:00:00
(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 . 2021/12/22 09:20 .. 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 . 2021/12/22 09:23 .. 2021/12/22 09:23 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 . 2021/12/22 09:24 .. 2021/12/22 09:23 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 依赖也可以添加
<dependency> <groupId>cn.webrxgroupId> <artifactId>utilsartifactId>
<version>1.0version>
<scope>systemscope>
<systemPath>C:/Users/Administrator/Desktop/jar/utils.jarsystemPath>
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并打包,并执行就可以了
<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.0modelVersion>
<groupId>cn.webrxgroupId>
<artifactId>appartifactId>
<version>1.0version>
<properties>
<maven.compiler.source>17maven.compiler.source>
<maven.compiler.target>17maven.compiler.target>
<java-version>17java-version>
<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
properties>
<dependencies>
dependencies>
<build>
<finalName>${project.artifactId}finalName>
<testSourceDirectory>src/test/javatestSourceDirectory>
<sourceDirectory>src/main/javasourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<version>3.8.1version>
<configuration>
<source>${java-version}source>
<target>${java-version}target>
<encoding>${project.build.sourceEncoding}encoding>
configuration>
plugin>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-shade-pluginartifactId>
<version>3.2.4version>
<executions>
<execution>
<phase>packagephase>
<goals>
<goal>shadegoal>
goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>cn.webrx.AppmainClass>
transformer>
transformers>
configuration>
execution>
executions>
plugin>
<plugin>
<groupId>org.codehaus.mojogroupId>
<artifactId>exec-maven-pluginartifactId>
<version>3.0.0version>
<executions>
<execution>
<phase>packagephase>
<goals>
<goal>javagoal>
goals>
<configuration>
<mainClass>cn.webrx.AppmainClass>
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" 。