这是一个非常愚蠢的问题,我找不到明确的答案。
背景。
我正在使用 Eclipse(在 XP 终端上使用 ANT 插件之一)。
我刚刚开始使用 ANT,在 [jar] 指令中,我正在设置已完成的 JAR 文件的位置,当我“解压缩”该文件时,我得到以下内容
元信息/清单.MF
MyMainFile.class
内部结构与oracle网站上找到的一致。
(这里http://docs.oracle.com/javase/tutorial/deployment/jar/view.html )
但是当我尝试运行我的文件时,我收到“找不到主类”错误?
我看过其他一些帖子,人们“解压缩”了 JAR 文件,最终得到了以下结构......
元信息/清单.MF
dtvcontrol/DTVControlApp.class
(从这里http://www.coderanch.com/t/528312/java/java/standalone-application)
那么我应该得到一个结构,其中我的类文件位于反映包名称的目录中......例如
元信息/清单.MF
MyPackage/MyMainFile.class
如果是这样,为什么我使用 ANT 得到的结构不正确,或者为什么有 2 个不同的“正确”内部结构? (如何为每个指定主类和类路径/控制我得到的内容)
另外,如果您感兴趣,请查看 MANIFEST 文件状态(使用 ANT 构建)
[属性名称=“Main-Class”值=“MyPackage.MyMainFile”/]
另外正在开发的包的目录结构如下......
/JavaDev/MyTestPackage/src (包含源文件)
//JavaDev/MyTestPackage/bin(包含来自 eclipse 或来自 ANT JAVAC 任务的类文件,我是否命名错误?我应该将其称为 build 吗?)
除此之外,当我创建 jar 时,我没有将其命名为“MyTestPackage.jar”,而是简单地命名为“test.jar”,这可能会导致问题吗?我认为我并没有很好地理解[主类]定义的内容。
除此之外...
“MyTestPackage”实际上是我在其他地方使用的一个小型视觉错误消息传递库,并且我有第二个文件,其中有一个用于测试的主类。因此它指向各种库(我需要将所有 SWT 库复制到指定目录吗?)
我在某处读到,如果我将库加载到我的主类中(我显然是为了打开窗口),那么如果我使用它们,尝试运行程序将因“找不到主类”而失败,添加也是如此在任何“静态最终”成员中(我用它来记录错误)。
“静态最终”问题...
我尝试调整 ANT 中的类路径,并且在连接到 Log4J 和我使用的“包装器”时遇到了很多其他错误(这是一个错误的导入),但是这些库存在于它们应该设置的位置在类路径中)。
我感觉我快到了……但还没有完全……
我正在为我正在创建的小型“库项目”执行此操作,目的是使用 MAVAN 作为将它们连接在一起的主外包......但现在我只想让它继续运行,以便它可以工作。
我可以根据需要提供完整的来源或任何其他信息。
提前致谢...
David