【发布时间】:2016-09-08 04:56:10
【问题描述】:
我一直在为我在 IntelliJ 中的工作编写一个小系统,在我进行过程中构建带有依赖项的 Jars,以检查我是否可以以一种让它在 IntelliJ 之外运行的方式构建它。有一天,当我尝试打开 Jar 时,它开始给我 JNI 错误。我找了很长时间试图修复它,并最终通过在构建 jar 之前编辑我的 manifest.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。主类不在我程序的任何包中,似乎其他人建议的所有选项都已正确设置。我尝试使用 java -jar 和 -cp 在 CMD 中运行它,这会导致相同的错误。另一个奇怪的事情是,尝试在 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
【问题讨论】:
-
你能分享
Main类吗? (如果有package行) -
永远不要在 cmets 中添加额外的信息。切勿将代码放入 cmets。格式很重要!
-
抱歉,这里是新人 :) 编辑了 OP。
-
您能否也发布您的
java -jar命令行(和输出)? -
添加了一个 imgur 链接(还不能发布图片链接)
标签: java jar classpath manifest main