使用intellij创建jar:"主要类不可保存或不可加载"

时间:2018-01-02 13:03:29

标签: java intellij-idea jar packaging

我尝试在intellij中的java项目中创建一个jar,但是我收到了这个错误。

我使用了intellij向导("从带有依赖关系的模块创建jar"),提取了jar依赖项,并指定生成的MANIFEST.MF应该位于java / main / resources。

这是我得到的一些窗口:

here这是反编译jar的视图;有一个META-INF目录,包含MANIFEST.MF文件。主要类是BookWindow;位于视图目录中,您可以在上面看到。

这里是视图目录,

这里是MANIFEST.MF文件。

法语错误是:

  

PS D:\ docs \ biblio2 \ out \ artifacts \ biblio2_jar3> java -jar。\ biblio2.jar   Erreur:不可能de trouver ou充电器la classe principale   view.BookWindow

在以下2个屏幕截图中,您可以查看intellij idea的工件页面:

here enter image description here

我有什么不对?

修改

嗯,BookWindow的完整软件包名称是,我认为,"查看" ...我为此采取了另一个屏幕截图:

here

EDIT 我可以从intelliJ运行程序。 我把文件移到" com。*"目录到src / main / java但是如果我尝试用maven打包它现在我收到这个错误:

  

编译错误[错误]   /D:/docs/biblio2/src/main/java/amazon/advertising/api/sample/SignedRequestsHelper.java:[28,39]   包org.apache.commons.codec.binary不存在

com。*的子目录中有2个类,用于访问amazon books数据库。在其进口"第一行是:

  

import org.apache.commons.codec.binary.Base64;

在这2个动作之前(有2个文件)我能够用maven打包项目,我得到了一个包含所有依赖项的巨大jar文件,但我无法运行它:" java -jar myfile的.jar"有一个关于Flamingo类的classNotFoundException,虽然它存在于jar的lib /文件夹中,但是在MANIFEST.MF中... Flamingo是一个很好的摇摆丝带(类似2016年)。

1 个答案:

答案 0 :(得分:0)

好的,我做到了。我仍然不知道为什么火烈鸟罐子和主要类别都没有可用,但我通过在intellij中创建一个新工件使其工作,所有工具都在项目的罐子外面。所有的依赖关系。我将在下一次采用持续集成,因此我将alwayq准备好工作罐! elle