线程main java中的异常怎么解决_线程“ main”中的异常java.lang.NoClassDefFoundError:...
线程“ main”中的异常java.lang.NoClassDefFoundError:
以下程序抛出错误:
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World!");
}
}
CLASSPATH C:\Program Files\Java\jdk1.6.0_18\bin\
Path C:\Program Files\Java\jdk1.6.0_18\bin\
JAVAHOME C:\Program Files\Java\jdk1.6.0_18\bin
你能告诉我根本原因吗?
22个解决方案
66 votes
我发现了另一个常见原因。 如果使用IDE(如eclipse)在包内创建Java文件,则会在Java文件顶部找到包名,如“ package pkgName”。 如果您尝试从命令提示符下运行此文件,则会收到NoClassDefFoundError错误。 从java文件中删除软件包名称,并在命令提示符下使用命令。 为此浪费了3个小时。 -阿比
Abhi answered 2020-06-19T13:09:38Z
27 votes
Exception in thread "main" java.lang.NoClassDefFoundError
Java试图找到您的.文件的地方之一是您当前的目录。 因此,如果您的.class文件位于C:\java中,则应将当前目录更改为该目录。
要更改目录,请在提示符下键入以下命令,然后按Enter:
cd c:\java
此.告诉Java,您的类路径是您的本地目录。
Executing your program using this command should correct the problem:
java -classpath . HelloWorld
sgokhales answered 2020-06-19T13:10:07Z
14 votes
如果您的软件包是helloworld,则应转到软件包的父目录,然后运行:
java helloworld.HelloWorld
hadibou answered 2020-06-19T13:10:27Z
11 votes
像这样运行它:
java -jar HelloWorld.jar
Konstantin Spirin answered 2020-06-19T13:10:48Z
5 votes
请参阅[http://scottizu.wordpress.com/2013/08/28/fixing-the-exception-in-thread-main-java-lang-noclassdeffounderror-in-eclipse/。]
这是可以从Windows命令提示符运行的Java命令的长格式:
"C:\Program Files\Java\jdk1.6.0_18\bin\javac.exe" -classpath "C:\Users\Scott\workspace\myproject" com\mycompany\myapp\HelloWorld.java
"C:\Program Files\Java\jdk1.6.0_18\bin\java.exe" -classpath "C:\Users\Scott\workspace\myproject" com.mycompany.myapp.HelloWorld
这些命令可以在任何目录中运行,这意味着您不必位于HelloWorld.java文件所在的目录中。
第一行编译您的HelloWorld.java文件,创建一个HelloWorld.class文件。
第二行运行HelloWorld.class文件。
-classpath告诉java在每个命令中在哪里寻找指定文件
Java编译器(javac.exe)期望java文件相对于类路径的位置(即,该文件位于C:\ Users \ Scott \ workspace \ myproject \ com \ mycompany \ myapp \ HelloWorld.java)
Java(java.exe)需要相对于类路径的包(即com.mycompany.myapp)和类(HelloWorld)(即文件位于C:\ Users \ Scott \ workspace \ myproject \ com \ mycompany \ myapp \ HelloWorld.class)
注意,类路径的末尾没有斜杠。 javac.exe命令期望文件以“ .java”结尾。 java.exe命令需要完整的类名,并且不能以“ .class”结尾。
有几种方法可以简化这些命令:
您不必指定java.exe的完整路径。 将Java添加到Windows路径(运行-> sysdm.cpl->高级选项卡->环境变量->选择路径->编辑->附加“; C:\ Program Files \ Java \ jdk1.6.0_18 \ bin \”) 。 或者,您可以追加JAVA_HOME并创建该环境变量。
您不必输入整个类路径(即,您可以只使用-classpath“。”)。 输入您将要使用的目录:
cd“ C:\ Users \ Scott \ workspace \ myproject \”
您可以使用默认程序包(将HelloWorld.java文件目录放在工作目录中,而不使用Java程序包指令)
如果进行这些更改,则将运行类似的内容(并且您可以省去-classpath“。”):
cd "C:\Users\Scott\workspace\myproject\"
javac -classpath "." HelloWorld.java
java -classpath "." HelloWorld
Scott Izu answered 2020-06-19T13:12:12Z
4 votes
这是最终成功的方法。
`@echo off
set path=%path%;C:\Program Files\Java\jdk1.7.0_71\bin;
set classpath=C:\Program Files\Java\jdk1.7.0_71\lib;
cd
javac .\trainingPackage\HelloWorld.java
cd ..
java trainingPackage.HelloWorld
REM (Make sure you are on the parent directory of the PackageName and not inside the Packagedirectory when executing java).`
ravikanth answered 2020-06-19T13:12:31Z
3 votes
NoClassDefFounError本身的javadoc将是一个不错的开始(在这里),然后我建议您清理并重建项目。
talnicolas answered 2020-06-19T13:12:51Z
1 votes
CLASSPATH变量需要包含Java程序.class文件所在的目录。 您可以包含“。” 在CLASSPATH中指示应包括当前目录。
set CLASSPATH=%CLASSPATH%;.
Amir Afghani answered 2020-06-19T13:13:12Z
1 votes
您的.也需要知道您的CLASSPATH类的位置。
简而言之,如果您正在运行DOS提示符下的javac和java命令,则应在CLASSPATH中附加点.(表示当前目录)。
anubhava answered 2020-06-19T13:13:37Z
1 votes
我遇到了同样的问题,偶然发现了“ Build Main Project F11”的解决方案。ide提出了一个“选项”,我可能要取消选中“保存时编译”在“项目”配置对话框的“构建”>“编译”部分中。取消选中“ Compille on Save”,然后(对我来说)执行常规的“ Clean and Build”,对我来说就成功了。
user2676860 answered 2020-06-19T13:13:58Z
1 votes
在文件夹内的cmd提示符下键入以下内容:
set classpath=%classpath%;.;
Bruevin answered 2020-06-19T13:14:18Z
1 votes
在上述解决方案中尝试过相同的问题,但没有任何效果。我只需要检查一下我的Java代码,发现主函数无法识别,因为它和(String)之间没有空格即初始代码:
public static void main(String[]args){
工作代码。
public static void main (String[]args){
希望我能帮助别人。
domii answered 2020-06-19T13:14:47Z
1 votes
Java文件:
package com.beans;
public class Flower{
.......
}
packages :=> com.beans,
java class Name:=> Flower.java,
Folder structure (assuming):=> C:\com\beans\Flower.*(both .java/.class exist here)
那么有两种执行方法:
1. Goto top Folder (here its C:\>),
then : C:> java com.beans.Flower
2. Executing from innermost folder "beans" here (C:\com\beans:>),
then: C:\com\beans:> java -cp ./../.. com.beans.Flower
Udit Nagi answered 2020-06-19T13:15:11Z
0 votes
我遇到此错误是因为我的文件位于包装中。所以我的foo包我必须这样调用:
java foo.HelloWorld
kravits88 answered 2020-06-19T13:15:36Z
0 votes
这里的问题是设置环境和类文件的运行。一个。 要设置环境路径,请运行以下命令:设置路径= C:\ Program Files(x86)\ Java \ jdk1.7.0 \ binb。 从com.test.TestJavaClass之类的包中运行程序
命令:java com.test.TestJavaClass
这里的一般问题是我们从src / package / name之类的包内部运行它。我们不应该包含src,包名称就足够了。
Chirag Pahuja answered 2020-06-19T13:16:06Z
0 votes
简便的解决方案:通过将原始项目导出到zip文件,删除原始项目目录并从zip文件导入回项目,我解决了这个问题(NetBeans)。
Pavel Vavruska answered 2020-06-19T13:16:26Z
0 votes
尝试做
javac Hello.java
然后,如果它没有编译器错误(因为我看不到您程序中的任何错误,所以不应该这样做),请键入
java Hello
DalekCaan99 answered 2020-06-19T13:16:55Z
0 votes
如果要“编译并执行”使用任何IDE(如eclipse)创建的任何Java文件,只需运行以下命令:
编译: javac Users\dhiraj01\workspace\Practice\src\PracticeLogic\Logics.java
执行:java -classpath Users\dhiraj01\workspace\Practice\src\ PracticeLogic.Logics
Dhiraj Aggarwal answered 2020-06-19T13:17:24Z
0 votes
我花了四个小时尝试各种排列和搜索建议。
最后,发现这篇文章有效,但不是更改原始代码进行测试的最佳解决方案。
尝试更改CLASSPATH,以包含类库java .
将当前目录更改为父目录(package文件夹),并且累了java .也尝试了java ..\.
两者都不起作用。
但是,只有第一个响应有效。 非常感谢阿比!!!
“我发现了另一个常见原因。如果您使用eclipse之类的IDE在包中创建Java文件,则会在Java文件顶部找到包名,例如“ package pkgName”。如果尝试从命令运行此文件 提示符下,您将收到NoClassDefFoundError错误。从java文件中删除程序包名称,并在命令提示符下使用命令。为此浪费了3个小时。-Abhi“
好奇是否还有其他方法可以使它工作而不必更改原始代码? 谢谢!
ravikanth answered 2020-06-19T13:18:16Z
0 votes
如果您的Program.java位于“ src / mypkg / subpkg /”目录中:
转到“ src”目录
然后使用“ javac mypkg / subpkg / Program.java”进行编译
要运行,请使用“ java mypkg.subpkg.Program.class”
mar915h answered 2020-06-19T13:18:49Z
0 votes
我终于发现这是Apache Netbeans编辑器的错误:
以下步骤将消除错误:
将文件名和类重命名为Abc
关闭编辑器
重新打开编辑器
将文件名和类从Abc重命名回以前的名称
现在调试项目(Ctrl + F5)可以正常工作
如果您正在使用新的Apache Netbeans(而不是旧的Netbeans),希望对您有所帮助
Manohar Reddy Poreddy answered 2020-06-19T13:19:40Z
0 votes
我有使用maven的问题。 我只是单击Maven项目ant然后命名
project-> plugins -> clean -> and button run.
Peter Petrov answered 2020-06-19T13:20:04Z
线程main java中的异常怎么解决_线程“ main”中的异常java.lang.NoClassDefFoundError:...相关推荐
- mysql insert 主键冲突_在MySql中建立存储过程和解决insert into select 中主键冲突的有关问题...
首先说需求,我想重复插入大量数据,那么首先想到的,就是用insert into select语句. 但是因为mysql中没有将主键设为自增长,导致每次都会报主键冲突的错误,插入失败. 对于这个问题,就 ...
- java runtime异常如何解决_成都汇智动力-Java中常见的RunTime异常及异常详解
java.lang.ArithmeticException算术条件异常.譬如:整数除零等.java.lang.ArrayIndexOutOfBoundsException数组索引越界异常.当对数组的索 ...
- java 异常补偿解决_第三方接口调用异常补偿机制实现实例记录
背景: 我们的组件(简称A),在业务链中属于数据支撑节点.其中与组件B存在接口同步数据的直接关系(API接口直接调用进行数据交互) 问题: 我们的上游有另一个组件C(带有界面),调用A(us)进行数据 ...
- java代码优化的方法和准则_编写高质量代码:改善Java程序的151个建议(第1章:JAVA开发中通用的方法和准则___建议16~20)...
建议16:易变业务使用脚本语言编写 Java世界一直在遭受着异种语言的入侵,比如PHP,Ruby,Groovy.Javascript等,这些入侵者都有一个共同特征:全是同一类语言-----脚本语言,它 ...
- java 异常 抛 效率_一文带你理清Java异常体系,提高开发效率
一.概述 我们在项目开发的过程中使用异常是必不可少的事情,那么异常会带来哪些好处呢? 我们知道异常带来的最明显的好处是,它能够降低错误处理代码的复杂度.不使用异常的话,我们就必须检查一些特定的错误,并 ...
- hashmap是线程安全的吗?怎么解决?_线程安全及三种解决方案
线程安全:如果有多个线程在同时运行,而这些线程可能会同时运行这段代码.程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的. 线程安全问题都是由全局变量及静 ...
- python异常类封装_在Python中封装异常
如何使应用程序与使用过的库依赖关系所引发的异常脱钩? [app] --uses--> [lib] --dependson--> [dependency] / / x- \ / `----- ...
- java内存 phd文件抓取_您可以从IBM PHD Java堆转储中提取字符串的值吗?
我有一个来自IBM jvm的PHD格式堆转储,我希望检查一些字符串的值.使用Sun JVM的二进制hprof转储,这是可能的,但是我无法从IBM转储中恢复此信息. 我试过了: >具有IBM DT ...
- java中appletviewer是什么意思_自动生成供AppletViewer运行Java Applet的HTML文件
这几天开始自学Java,搭建Eclipse作为开发环境,发现实在太智能了,貌似对学习无益.于是搜了下,另外搭建了EditPlus上的简易Java开发环境,确实比较适合学习,不足之处是没法配置比较方便的 ...
- 王者荣耀手机助手服务器异常,如何解决王者荣耀助手登录网络异常
很多玩家在登陆王者荣耀助手登陆时会出现网络异常,无法登陆的情况,但是排除了网络的原因后还是无法登陆,那么王者荣耀助手登录网络异常到底该怎么解决呢?下面就和斗蟹小编一起来看看吧! 王者荣耀助手网络异常解 ...
最新文章
- VS2010打开项目提示未能正确加载解决方案中一个或多个项目
- Java反射最佳实践
- Android 监听APP进入前台、后台
- The C Programming Language--可变参数的函数
- jquerymobile页面跳转和参数传递
- 2018,广东,深圳马峦山游玩攻略(含登山线路)
- python第三方库介绍和安装
- 正则表达式及grep
- jdbc中mySQL语句单双引号_JDBC: 执行MySQL语句时,bit类型的数值在java代码中应该怎么表示?...
- kafka性能优化入门
- 仿外卖mysql源码_进云仿美团外卖源码 v1.19
- 我只写注释 —— 让Ai写代码
- .axf文件_MDK 的编译过程及文件类型全解(一)
- 统计相关国际期刊汇总
- 支持图灵架构和安培架构的TensorFlow Python库
- 【软考备战·希赛网每日一练】2023年4月13日
- 【内有福利】5.7K画质高品质防抖:运动全景相机开启新纪元
- 设计模式--工厂设计
- go+mysql+redis+vue3简单聊室,第1弹:接口路由搭建和传参
- 五一假期选择哪款蓝牙耳机比较好?舒适度最好的蓝牙耳机推荐
热门文章
- 供应链金融(Supply Chain Finance)
- 《烟花》动漫电影 观后感
- linux命令— head
- 【计算机视觉40例】案例10:隐身术
- (十四)ATP应用测试平台——使用docker-compose一键式安装ATP应用测试平台的依赖服务
- poco库开发mysql_Poco数据库操作
- 关于C语言两个小游戏的提示和源码(猜词游戏与控制移动游戏)
- 计算机无法关闭密码保护,Win7密码保护共享关闭不了怎么办?密码保护共享关不掉的解决方法...
- VIMS(虚拟镜像管理系统)
- FIL最新行情,FIL预测能涨至750U是否过于夸大?会突破新高吗?