所以我有一个带有一些 gui 的小型 Java 程序,我在 eclipse 中运行得很好。我按照 fatjar 教程创建 .jar,但是当我尝试运行 .jar 时,会出现第一个 gui 窗口,但没有任何功能起作用。当我在 cp 中运行它时,单击按钮会生成一个异常,基本上是说某些对象类型无法解析为类型,所有这些都来自导入库。有没有人见过这个,我尝试使用这个程序 jarfix 来解决类似于我的问题,但没有。
4 回答
请定义
当我在 cp 中运行它时
java 命令的格式应该类似于
java -cp /path/to/jars com.main.class
您可以通过使用存档程序(例如 winzip)打开 jar 文件来开始定位问题的根源,并查看 jar 文件中是否包含类/类型。
如果存在,则可能是类路径问题。如果不是,则构建 jar 文件有问题。包含的 jar 文件不是在 java buildpath 对话框的“Order and Export”选项卡中设置吗?
另一种方法是将所有这些 jar 文件放在同一个文件夹中。即,如果您的应用程序 jar 文件是App.jar
并且其他依赖项是A.jar
和B.jar
. 然后将A.jar
和B.jar
放在与 相同的文件夹中App.jar
。
如果您双击App.jar
它将默认获取同一文件夹中的其他依赖项。
我不知道fatjar。但是我遇到了类似的问题,可能与您的问题有关。
在我的情况下,当我通过 Eclipse 运行时一切正常,但是当我使用 Eclipse 创建 JAR 时,我遇到了你所面临的问题,但在我的情况下,这是访问 JAR 文件中的资源的问题。
所以解决方案是,右键单击 -> 导出为 -> Jar,在这里选中“添加目录条目”框,然后创建 JAR。安斯都奏效了。
首先,您应该检查生成的jar是否正确,只需使用winrar或类似工具打开它,然后查看所有类和资源是否正确放置。