使用javac
$ javac -classpath javax.mail.jar:javax.activation.jar:. PriceEmailer.java
我将结果类和我使用的库包含在jar中,但是jar文件不会执行。
在命令行上运行java文件:
$ java -classpath javax.activation.jar:javax.mail.jar:. PriceEmailer
Sending...
Email sent!
现在我想制作一个可执行的.jar
文件。我将以下内容放在manifest.txt中:
Manifest-Version: 1.0
Main-Class: PriceEmailer
Class-Path: javax.activation.jar:javax.mail.jar:.
创建.jar
文件:
$ jar vcfm PriceEmailer.jar manifest.txt class/*
added manifest
adding: class/javax.activation.jar(in = 56290) (out= 50561)(deflated 10%)
adding: class/javax.mail.jar(in = 653275) (out= 617552)(deflated 5%)
adding: class/PriceEmailer.class(in = 4106) (out= 2205)(deflated 46%)
运行.jar
文件:
$ java -jar PriceEmailer.jar
Error: Could not find or load main class PriceEmailer
为什么jar文件不能执行?
注意:main
函数位于文件PriceEmailer.java
中,用于定义PriceEmailer
类。
public static void main(String[] args) throws Exception {