如何在文件树中创建带有入口点的 jar 文件?

Por*_*os3 3 java jar entry-point

我正在尝试使用以下命令创建 jar 文件:

jar -cef ./bin/a/MainClass formatter.jar ./bin/*
Run Code Online (Sandbox Code Playgroud)

其中 bin 包含两个带有类文件的文件夹(假设“./bin/a/”和“./bin/b/”)。

我可以很好地创建 jar,但我似乎无法让它正确执行。它运行时无需打印或执行任何操作。我认为它一定没有使用我提供的入口点。

MainClass 有一个简单的 main 方法:

public static void main(String[] args) {
   System.out.println("HIT");
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?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
Run Code Online (Sandbox Code Playgroud)

Mar*_*ano 5

请参阅本教程jar命令选项的参数e应该是类名,而不是路径名。此外,在指定要包含在 jar 中的类列表时,应注意引用文件,以便目录结构与包名称相匹配。否则类路径查找将会失败。尝试:

jar -cef a.MainClass formatter.jar -C bin .
Run Code Online (Sandbox Code Playgroud)