用intellij创建jar:“主类不可用或不可加载”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用intellij创建jar:“主类不可用或不可加载”相关的知识,希望对你有一定的参考价值。

我尝试从intellij里面的java项目创建一个jar,但是我得到了这个错误。

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

这是我得到的一些窗口:

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

这里是视图目录,和

这里是MANIFEST.MF文件。

法语错误是:

PS D: docs biblio2 out artifacts biblio2_jar3> java -jar。 Biblio2.jar错误:无法找到或加载主类视图.BookWindow

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

here enter image description here

我有什么不对?

编辑

好吧,BookWindow的完整软件包名称,我认为是“查看”...我为此采取了另一个截图:

here

编辑我可以从intelliJ运行程序。我将“com。*”目录中的文件移动到src / main / java但是如果我尝试用maven打包它现在我收到此错误:

编译错误[ERROR] /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”得到了一个classNotFoundException关于Flamingo类,虽然它存在于jar的lib /文件夹中,但是在MANIFEST.MF中... Flamingo是一个很好的摇摆带(类似于2016的单词)。

答案

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

以上是关于用intellij创建jar:“主类不可用或不可加载”的主要内容,如果未能解决你的问题,请参考以下文章

使用 Intellij 2016 创建 Jar - 没有主要清单属性

使用 Intellij 为 Java 代码创建 Jar 文件 [重复]

IntelliJ Spring Boot:如何创建可执行的 jar

Intellij Idea 用Maven 创建Hibernate 项目

用IntelliJ IDEA创建Gradle项目简单入门

我已经使用 IntelliJ 创建了一个 jar,但是当我尝试运行该 jar 时,我收到一个错误,因为无法加载主类清单 [重复]