当前位置: 首页 > 知识库问答 >
问题:

错误:尝试运行JAR时无法找到或加载main类main。清单和类路径看起来不错,还是不起作用?

淳于煌
2023-03-14

我一直在为我在IntelliJ的工作编写一个小系统,在编写过程中使用依赖项构建JAR,以检查我是否可以以一种可以让它在IntelliJ之外运行的方式构建它。有一天,当我试图打开罐子时,它开始给我JNI错误。我花了好长时间试图修复它,最后(在某种程度上)通过编辑我的清单来修复它。构建jar之前的mf文件。我的清单文件现在如下所示:

Manifest-Version: 1.0
Class-Path: C:\Users\mac\IdeaProjects\sqljdbc_6.0\enu\sqljdbc4.jar
Main-Class: Main
(2 blank lines)

系统使用sqljdbc连接到azure数据库。它在intelliJ中编译和运行得非常好,但是现在当我尝试运行jar时,它会给我以下错误:错误:找不到或加载main类Main。main类不在我程序中的任何包中,而且其他人建议的所有选项似乎都已经正确设置。我尝试过在CMD中使用java-jar和-cp运行它,结果导致相同的错误。另一个奇怪的事情是,尝试在CMD中编译Main.java文件会给我带来大量荒谬的编译错误,尽管它是在intelliJ中编译的。还有其他想法吗...?我一片空白。

以下是主要课程:

imports....



 public class Main {

    public static void main(String[] args) {MWBFrame frame = new MWBFrame("MWB SQL Lookup");
    }

    }

它创建GUI的主框架,它只是JFrame的扩展。

下面是尝试java-jar时的CMD输出(还不能发布图像):http://imgur.com/nzpx4rn

共有1个答案

阮阳曦
2023-03-14

我认为SO线程的答案是如何生成可运行的jar文件?似乎对你有帮助。

同时,您可以参考YouTube的视频http://www.muhlisozdemir.com/blog/how-to-create-executable-jar-files-in-intellij-idea/,了解如何在IntelliJ IDEA中创建执行jar文件。

 类似资料:
  • 我对这个Dockerfile进行了编码,它在一个项目中生成了一个可运行的jar,并且它还生成了jar,但是当我尝试运行它时,它会显示“错误:Could not find or load Main class Main.Main”。

  • 问题内容: 我试图将HelloWorld放在.jar文件中并运行它,但是它不起作用。我创建了Java文件并在程序中键入内容,然后用cmd编写: 而且有效。然后我进入 得到了输出 然后我进入 第一行有效,而第二行却给我一个错误: 当我尝试使用64位jre7 \ bin,jdk1.7.0_51 \ bin,jdk1.7.0_51 \ jre \ bin中的java.exe文件打开它时,我得到的输出是(

  • 当我尝试在Windows上以编程方式运行命令时,会发生一些奇怪的事情。 运行以下命令时: 我知道这个错误 错误:找不到或加载主类JAR [106,97,118,97,32,-30岁,-128,-109,106,97,114,32,110,112,116,95,108,105,99,101,110,115,101,46,106,97,114,32,-30岁,-128,109,111,32,119,1

  • 我试图将HelloWorld放入一个.jar文件并运行它,但它不起作用。我创建了java文件并在程序中键入,然后用cmd写到: 而且奏效了。然后我进去了 并得到了输出 这与我尝试用64位JRE7\bin、JDK1.7.0_51\bin、JDK1.7.0_51\jre\bin和32位JRE7\bin中的java.exe文件打开它时(在快速关闭的窗口中)得到的输出相同。我卸载并重新安装了jre和jdk

  • 我在Java中用-cp或-classpath标志编译时遇到了一个问题。下面我将试着解释一下这个问题: 比方说;我有两个文件-A.java和B.java.A.java有一个简单的公共类,有一个私有实例变量,一个get和一个set方法。B.java是A的驱动方法。它实例化A;为A的实例变量设置一些值,最后使用A中的get方法打印出该值。 我可以从命令行编译A.java和B.java。如果两个编译的类文