【发布时间】:2014-08-20 19:18:06
【问题描述】:
我创建了一个名为App.java 的Java 应用程序。它使用 GSON。因此,我创建了一个 jar gson.jar,然后创建了一个包含以下内容的清单文件 (manifest.mf)。
Manifest-Version: 1.0
Class-Path: test.jar gson.jar
Main-Class: App
然后我使用以下命令创建了 test.jar:
jar cfm test.jar manifest.mf *
编辑:jar cfm test.jar manifest.mf * 正在生成 jar,但在磁盘上无处可见。
并使用
运行它java -jar test.jar
应用程序为ExitListener 抛出ClassNotFoundException。删除使用ExitListner 的代码后,它会像使用java App 运行一样正常运行。我错过了什么?
【问题讨论】:
-
ExitListener 类驻留在哪里?
-
jar -tvf test.jar的输出(从内存中)是什么(另一个 Jar 也是如此)? -
我个人只会使用 Eclipse 并导出为可执行的 JAR,但我猜这并不聪明,因为您看不到细节。
-
@HovercraftFullOfEels:它是开发环境中的示例应用程序,因此我没有在 GSON 的包中添加任何东西(因为它来了)。
-
@Sanjeev : 它必须属于 swing 库。
标签: java swing jar classnotfoundexception executable-jar