jar文件找不到主类

时间:2018-01-19 21:52:17

标签: java linux jar

使用javac

编译java程序后
$ 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 {

1 个答案:

答案 0 :(得分:2)

类路径条目应该用空格分隔,而不是冒号。请参阅specification