关于运行jar文件时,出现noclassfoundexception

时间:2022-11-28 09:17:41
在eclipse中运行成功,打包成jar文件运行就出现如上的提示,而且运行jdk下demo中的jar文件也是同样的错误,求高人求解

18 个解决方案

#1


jdk 配置的有问题吧?
LZ用java -jar xxx.jar命令运行吗?

#2


你看报缺的是哪个类,
再看这个类是不是真的缺。

#3


不知道LZ是如何打包的,建议用myeclipse,Export=>java=>Runnable jar file
选中包含有main方法的类(即程序入口),如果下拉框找不到,先运行一下即可。希望对你有所帮助。

#4


另外一种可能是构建路径用到的包没有找到,也会出此异常

#5


你看报缺的是哪个类,
再看这个类是不是真的缺。

#6


为了有分能提问,只能先灌水了。

另外在这向各位高手求救

T2.java文件如下

package T1;


public class T2 {

 public T2() {System.out.println("T2");} 
}

ConnectDatabase2.java文件如下
public class ConnectDatabase2 {
     
  public static void main(String[] args) {Class<?> s1 = Class.forName("T1.T2");}
}

以上就是全部的文件,一个字都没变,
但就是运行部成功,一直报错,说class not fould
但网上都是类似的例子啊,怎么我就不行呢

#7


应该是打的包里没有指定 Main-Class 吧

#8


引用 1 楼  的回复:
jdk 配置的有问题吧?
LZ用java -jar xxx.jar命令运行吗?
我试了下,用这个命令是可以打开的(但是和在eclipse的有点差别,比如背景图片么有显示),但是jar文件不是双击就可以打开么?

#9


引用 7 楼  的回复:
应该是打的包里没有指定 Main-Class 吧
在eclipse里面导出时,指定好了主类

#10


引用 7 楼  的回复:
应该是打的包里没有指定 Main-Class 吧
用eclipse导出时,指定了主类了,关键是jdk里面自带的jar文件都无法运行

#11


引用 10 楼  的回复:
引用 7 楼  的回复:

应该是打的包里没有指定 Main-Class 吧
用eclipse导出时,指定了主类了,关键是jdk里面自带的jar文件都无法运行

Applet没有Main-Class 可以运行,非Applet不行

#12


引用 11 楼  的回复:
引用 10 楼  的回复:

引用 7 楼  的回复:

应该是打的包里没有指定 Main-Class 吧
用eclipse导出时,指定了主类了,关键是jdk里面自带的jar文件都无法运行

Applet没有Main-Class 可以运行,非Applet不行
我的就是一个普通的gui,不是applet

#13


引用 3 楼  的回复:
不知道LZ是如何打包的,建议用myeclipse,Export=>java=>Runnable jar file
选中包含有main方法的类(即程序入口),如果下拉框找不到,先运行一下即可。希望对你有所帮助。
谢谢,我就是这样导出的,但是不行~~~

#14


引用 2 楼  的回复:
你看报缺的是哪个类,
再看这个类是不是真的缺。
下面是出错的信息,一模一样的(没想通第一排怎么是F:bank/jar)
Exception in thread "main" java.lang.NoClassDefFoundErro:F:bank/jar
Caused by:java.lang.ClassNotFoundException:F:\bank.jar

#15


楼主是用jar命令打包的吗?
有没有package之类的语句呢?
打包除了class文件外还需要一个manifest.mf文件,用来声明主类Main-Class:主类名
再打包就可以了

#16


引用 8 楼  的回复:
引用 1 楼 的回复:

jdk 配置的有问题吧?
LZ用java -jar xxx.jar命令运行吗?
我试了下,用这个命令是可以打开的(但是和在eclipse的有点差别,比如背景图片么有显示),但是jar文件不是双击就可以打开么?


看来是系统的文件关联出了问题。
在windows上,当你双击一个文件时,依赖于文件类型的关联。
重新安装下jdk,会修复jar文件的文件关联

#17


引用 15 楼  的回复:
楼主是用jar命令打包的吗?
有没有package之类的语句呢?
打包除了class文件外还需要一个manifest.mf文件,用来声明主类Main-Class:主类名
再打包就可以了
我是直接用eclipse的导出打包成jar文件的,里面有默认的mf文件

#18


引用 16 楼  的回复:
引用 8 楼  的回复:
引用 1 楼 的回复:

jdk 配置的有问题吧?
LZ用java -jar xxx.jar命令运行吗?
我试了下,用这个命令是可以打开的(但是和在eclipse的有点差别,比如背景图片么有显示),但是jar文件不是双击就可以打开么?


看来是系统的文件关联出了问题。
在windows上,当你双击一个文件时,依赖于文件类型的关联。
重新安装下jdk……
电脑出了点问题,上次就是卸载jdk,卸了之后不能安装jdk了,后来我是直接拷的别人安装好的jdk,估计是这个问题。。。。

#1


jdk 配置的有问题吧?
LZ用java -jar xxx.jar命令运行吗?

#2


你看报缺的是哪个类,
再看这个类是不是真的缺。

#3


不知道LZ是如何打包的,建议用myeclipse,Export=>java=>Runnable jar file
选中包含有main方法的类(即程序入口),如果下拉框找不到,先运行一下即可。希望对你有所帮助。

#4


另外一种可能是构建路径用到的包没有找到,也会出此异常

#5


你看报缺的是哪个类,
再看这个类是不是真的缺。

#6


为了有分能提问,只能先灌水了。

另外在这向各位高手求救

T2.java文件如下

package T1;


public class T2 {

 public T2() {System.out.println("T2");} 
}

ConnectDatabase2.java文件如下
public class ConnectDatabase2 {
     
  public static void main(String[] args) {Class<?> s1 = Class.forName("T1.T2");}
}

以上就是全部的文件,一个字都没变,
但就是运行部成功,一直报错,说class not fould
但网上都是类似的例子啊,怎么我就不行呢

#7


应该是打的包里没有指定 Main-Class 吧

#8


引用 1 楼  的回复:
jdk 配置的有问题吧?
LZ用java -jar xxx.jar命令运行吗?
我试了下,用这个命令是可以打开的(但是和在eclipse的有点差别,比如背景图片么有显示),但是jar文件不是双击就可以打开么?

#9


引用 7 楼  的回复:
应该是打的包里没有指定 Main-Class 吧
在eclipse里面导出时,指定好了主类

#10


引用 7 楼  的回复:
应该是打的包里没有指定 Main-Class 吧
用eclipse导出时,指定了主类了,关键是jdk里面自带的jar文件都无法运行

#11


引用 10 楼  的回复:
引用 7 楼  的回复:

应该是打的包里没有指定 Main-Class 吧
用eclipse导出时,指定了主类了,关键是jdk里面自带的jar文件都无法运行

Applet没有Main-Class 可以运行,非Applet不行

#12


引用 11 楼  的回复:
引用 10 楼  的回复:

引用 7 楼  的回复:

应该是打的包里没有指定 Main-Class 吧
用eclipse导出时,指定了主类了,关键是jdk里面自带的jar文件都无法运行

Applet没有Main-Class 可以运行,非Applet不行
我的就是一个普通的gui,不是applet

#13


引用 3 楼  的回复:
不知道LZ是如何打包的,建议用myeclipse,Export=>java=>Runnable jar file
选中包含有main方法的类(即程序入口),如果下拉框找不到,先运行一下即可。希望对你有所帮助。
谢谢,我就是这样导出的,但是不行~~~

#14


引用 2 楼  的回复:
你看报缺的是哪个类,
再看这个类是不是真的缺。
下面是出错的信息,一模一样的(没想通第一排怎么是F:bank/jar)
Exception in thread "main" java.lang.NoClassDefFoundErro:F:bank/jar
Caused by:java.lang.ClassNotFoundException:F:\bank.jar

#15


楼主是用jar命令打包的吗?
有没有package之类的语句呢?
打包除了class文件外还需要一个manifest.mf文件,用来声明主类Main-Class:主类名
再打包就可以了

#16


引用 8 楼  的回复:
引用 1 楼 的回复:

jdk 配置的有问题吧?
LZ用java -jar xxx.jar命令运行吗?
我试了下,用这个命令是可以打开的(但是和在eclipse的有点差别,比如背景图片么有显示),但是jar文件不是双击就可以打开么?


看来是系统的文件关联出了问题。
在windows上,当你双击一个文件时,依赖于文件类型的关联。
重新安装下jdk,会修复jar文件的文件关联

#17


引用 15 楼  的回复:
楼主是用jar命令打包的吗?
有没有package之类的语句呢?
打包除了class文件外还需要一个manifest.mf文件,用来声明主类Main-Class:主类名
再打包就可以了
我是直接用eclipse的导出打包成jar文件的,里面有默认的mf文件

#18


引用 16 楼  的回复:
引用 8 楼  的回复:
引用 1 楼 的回复:

jdk 配置的有问题吧?
LZ用java -jar xxx.jar命令运行吗?
我试了下,用这个命令是可以打开的(但是和在eclipse的有点差别,比如背景图片么有显示),但是jar文件不是双击就可以打开么?


看来是系统的文件关联出了问题。
在windows上,当你双击一个文件时,依赖于文件类型的关联。
重新安装下jdk……
电脑出了点问题,上次就是卸载jdk,卸了之后不能安装jdk了,后来我是直接拷的别人安装好的jdk,估计是这个问题。。。。