Javapackager:无法找到或加载主类

时间:2015-07-27 04:25:20

标签: java

我创建了一个JavaFX项目,并且能够使用命令

运行它

java -classpath [very-long-list-of-class-paths] danIDE.Main

但是,当我尝试使用javapackager创建一个jar并使用java -jar out.jar运行时,提示符为Error: Could not find or load main class danIDE.Main

我用来创建jar的命令是

javapackager -createjar -v -classpath [very-long-list-of-class-paths] -srcdir src -outfile out -appclass danIDE.Main

我已经搜索了很长时间来解决这个问题,我仍然无法找到解决方案。有人能指出我正确的方向吗?非常感谢!

编辑: 这是项目结构。

Project Structure

这是爆炸的罐子。

enter image description here

@Garry要求的新爆炸罐:

enter image description here

2 个答案:

答案 0 :(得分:4)

由于您使用的是IntelliJ IDEA,我建议您让IDEA为您创建JAR文件。

首先,打开模块设置窗口:

enter image description here

然后,添加一个新工件:

enter image description here

选择 JAR 来自具有依赖关系的模块

enter image description here

在窗口中选择您的主类,并决定是否要从JAR中的依赖项JAR重新打包所有类(提取到目标JAR 选项),或者是否要将它们与JAR一起分发(复制到输出目录并通过清单选项链接):

enter image description here

如果您想在构建项目时构建它(可能是个好主意),请单击该复选框:

enter image description here

下次制作项目时,JAR将显示在 out / artifacts 下:

enter image description here

如果在构建项目时没有单击用于构建JAR的复选框,则可以从 Build 菜单中的 Build Artifacts 选项构建JAR。 / p>

答案 1 :(得分:2)

您可以尝试使用以下命令吗?确保将“classes”文件夹更新到要打包的文件的Base目录。

正如您所说的,您可以运行danIDE.Main所以我假设所有必需的类都在dist文件夹中可用。 因此,在与out

并行的项目中创建文件夹dist
javapackager -createjar -classpath [very-long-list-of-class-paths] -appclass danIDE.Main -srcdir dist -outdir out -outfile out.jar -v 

已更新:根据上传的屏幕截图:点-srcdirdist,现在生成的广告文件out.jar将被放置在out/out.jar