【发布时间】:2014-07-09 04:46:33
【问题描述】:
我正在尝试使用此命令创建一个 jar 文件:
jar -cef ./bin/a/MainClass formatter.jar ./bin/*
其中 bin 包含两个带有类文件的文件夹(比如说“./bin/a/”和“./bin/b/”)。
我可以很好地创建 jar,但我似乎无法让它正确执行。它无需打印或执行任何操作即可运行。我认为它一定不是使用我提供的入口点。
MainClass 有一个简单的 main 方法:
public static void main(String[] args) {
System.out.println("HIT");
}
我做错了什么? jar 是否必须与包含 main 的类在同一文件夹中创建?
根据要求编辑:jar -tf:
C:\Users\Jonathan\Documents\Workspace\JavaAutoFormatter>jar -tf formatter.jar
META-INF/
META-INF/MANIFEST.MF
bin/a/
bin/a/MainClass.class
bin/a/ParsedFile.class
bin/b/
bin/b/Token.class
bin/b/Tokenifier.class
【问题讨论】:
-
如果您显示一个“jar -tf”可能会有所帮助,这样我们就可以看到 jar 的内容。以及 MainClass 的 hte 类声明
-
@Martin,我不相信这是该问题的重复。我知道如何创建可执行 jar - 我只是不确定如何使用隐藏在文件树中的类文件创建入口点。
-
@Mike,添加了 jar -tf 输出。所有文件都如我所料。我只是认为我的入口点不起作用。
-
你的课程的包名是什么?你应该使用 -C bin 吗?
-
@Martin,我如何检查一个类的包名?
标签: java jar entry-point