如何制作包含simpleMail.java与java-mail-1.4.jar的可执行Jar包并在CMD运行
如何制作包含Java文件与依赖Jar包的可执行Jar包?
没问题,我来一步步教你把你的simpleMail.java和依赖的java-mail-1.4.jar打包成可执行Jar包,全程用CMD操作,清晰易懂:
第一步:编译你的Java文件
因为你的simpleMail.java需要调用java-mail-1.4.jar里的类,所以编译时必须指定类路径(classpath)。假设两个文件都在当前CMD目录下,执行以下命令:
javac -cp java-mail-1.4.jar simpleMail.java
执行成功后,会在当前目录生成simpleMail.class文件——这是你的Java代码编译后的字节码文件。
第二步:创建Manifest清单文件
可执行Jar包必须依赖一个Manifest.mf文件来指定主类(包含main方法的类)和依赖的Jar包路径。在当前目录新建一个文本文件,命名为Manifest.mf,写入以下内容:
Main-Class: simpleMail Class-Path: java-mail-1.4.jar
⚠️ 注意事项:
Main-Class后面必须跟一个空格,再写你的主类名(如果你的类属于某个包,比如com.example.simpleMail,要写完整的包路径+类名)- 文件最后必须留一个空行,否则Jar命令会读取失败
Class-Path指定的是依赖Jar相对于可执行Jar的路径,如果后续把java-mail-1.4.jar放到子目录(比如lib/),这里要改成lib/java-mail-1.4.jar
第三步:打包成可执行Jar包
这里提供两种常用的打包方式,你可以根据需求选择:
方式1:依赖Jar单独存放(推荐,避免版权问题)
这种方式下,可执行Jar和依赖Jar需要放在同一目录(或按Class-Path指定的路径放置)。执行以下Jar命令:
jar cvfm myExecutable.jar Manifest.mf simpleMail.class
命令参数说明:
c:创建新的Jar包v:显示打包过程的详细信息f:指定生成的Jar包文件名(这里是myExecutable.jar)m:指定使用我们创建的Manifest.mf文件
方式2:将依赖Jar的类合并到可执行Jar中
如果希望只生成一个独立的可执行Jar(不需要额外携带依赖Jar),可以先解压依赖Jar,再将其类文件和你的class文件一起打包:
- 解压
java-mail-1.4.jar到当前目录:
执行后会生成jar xf java-mail-1.4.jarcom/、javax/等目录(这些是JavaMail库的类文件) - 打包所有文件到可执行Jar:
jar cvfm myExecutable.jar Manifest.mf simpleMail.class com/ javax/
⚠️ 注意:这种方式需要确认依赖Jar的许可证允许重新打包,避免版权问题。
第四步:运行可执行Jar包
- 如果用方式1:确保
myExecutable.jar和java-mail-1.4.jar在同一目录,执行命令:java -jar myExecutable.jar - 如果用方式2:直接执行上述命令即可,不需要额外的依赖Jar。
内容的提问来源于stack exchange,提问作者Anuj Victor
相关产品推荐
相关产品推荐

