Exception in thread "main" java.lang.NoClassDefFoundError解决办法
Exception in thread "main" java.lang.NoClassDefFoundError
这个问题解决了!现总结如下
由于我是用JBuilder编写的。且能够运行。
接着我在cmd中运行了下,就出现这个问题。
原因:在cmd下应该有main函数
不管在哪个目录下都不行,不管执行那个文件都提示Exception in thread "main" java.lang.NoClassDefFoundError:classname(执行的那个文件名) 错误。
有以下两种错误:
第一种:
F:\classes>java HelloWorld
Exception in thread "main" java.lang.NoClassDefFoundError:HelloWorld
出现此问题是因为classpath设置错误。
我设置如下:
java_home=C:\Program Files\Java\jdk 1.5.0_05
classpath=.;%java_home%\lib \dt.jar;%java_home%\lib\tools.jar;(注意最前边是一点再一分号,这是表示当前路径,即环境变量classpath必须包含当前路径才行,如果不包括,需要用set classpath = %classpath%;e:\myjava临时设置)
就再设置下classpath的路径,根据文件所在地方。
set classpath=%classpath%;F:\classes;
这样设一下就可以解决问题了。
第二种:
详细错误如下:
D:\Inprise\AppServer\classes\com\enterpriseoffice>java timeBean
Exception in thread "main" java.lang.NoClassDefFoundError: timeBean (wrong name:
com/enterpriseoffice/timeBean)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:11
1)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
解决方法:
到D:\Inprise\AppServer\classes目录下执行java -cp . com.enterpriseoffice.timeBean试试
说明:java -cp . 表示将当前路径指定为java运行的类路径,运行类的时候会在你指定的类路径中去查找这个类。
其他答案:
1、 你的文件名对吗?
JAVA要求你的文件和你的类名严格对应的。
比如 public class HelloWorld{ .....
那么文件名一定只能是HelloWorld.java,看仔细了!
2、你的程序中有main方法吗?参数什么的对吗?
main方法的声明应该是这样子的:
public static void main(String[] args)
事实上如果你用开发工具来做的话,是不会错的。如果你用UltraEdit之类的来写程序的话,就一个字不要改的照抄吧!
3、记住,javac后面跟的参数是文件名,但java 后面跟的是类名!
这是我开始学JAVA是犯的错,java HelloWorld.class,然后就报错。后来才弄明白,应该是java HelloWorld。
4、设置了classpath了吗?
不仅是在安装JDK时要设置的内容,一般来说最好还要自己设置一个目录来存放自己的类文件的。比如d:\class目录。
设置classpath=%classpath%;d:\class
那么,现在将HelloWorld.class文件COPY到d:\class目录下,再java HelloWorld应该就OK了。
5、结合第3点和第4点
如果你的类是属于某一个包的,比如这样一个类sony.test.HelloWorld,那么按照我在第4点中说的目录来说,就应该将HelloWorld.class文件存放到d:\class\sony\test\目录下。
执行的时候应该参考第3点中说的,按类名执行:java sony.test.HelloWorld。
分享到:
相关推荐
三、常见问题与解决办法: 1. **找不到主类**:确保主类全名(包括包名)正确,并且对应的.class文件位于Classpath所指定的路径下。 2. **缺少依赖库**:如果程序依赖于外部库(如.jar文件),确保它们被添加到...
4. **解决办法** - **正确设置路径**:在获取或下载资源时,应使用`ClasspathResource`或`ResourceLoader`来获取正确的类路径资源。例如: ```java Resource resource = new ClassPathResource("static/filename....
该解决办法非常简单,只需要添加tomcat-ujli.jar到classpath中,并选择TOMCAT的安装路径和部署路径即可。希望本文能够帮助读者解决Eclipse运行TOMCAT时出现的"a java exception has occurred"问题。
3. **Classpath设置**:确认这些jar包已经被正确地加入到项目的类路径中,无论是通过IDE的设置还是构建脚本(如Maven或Gradle)。 4. **Proxool配置文件**:有时候,Proxool需要一个单独的配置文件(如`proxool....
我们需要将这个jar文件添加到项目的类路径(ClassPath)中,确保在运行时能够被正确加载。 在Java中,可以通过以下几种方式设置类路径: 1. **命令行参数**:在运行Java程序时,可以使用`-cp`或`-classpath`选项...
本文将详细介绍如何解决Eclipse中与Maven配置相关的问题,以及一些其他常见的Eclipse使用技巧。 1. **解决Eclipse找不到Maven包的问题** 当Eclipse报错`org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER`,表明...
- 如果仍然无法解决问题,考虑手动创建该文件,并添加默认内容(例如空文件)以满足构建需求。 2. **检查文件权限** - 打开文件所在目录`C:\Users\Administrator\.gradle\caches\jars-1`,右键点击`cache....
### JDOMException错误解决办法详解 #### 一、问题背景及概述 在处理XML文档时,经常需要用到Java的解析库,其中JDOM(Java Document Object Model)是一个非常流行的开源库,用于读取、修改和创建XML文档。但在使用...
### Hibernate的Antlr在Weblogic中产生Jar冲突的解决办法 #### 背景与问题描述 在使用Hibernate框架进行Java应用开发时,特别是在Weblogic服务器环境下部署应用程序时,可能会遇到一个常见问题:由于不同版本的...
解决办法包括: 1. 检查文件路径:确保文件路径正确无误,并且正确使用了文件系统的分隔符。同时,检查路径中是否有不可见的特殊字符或多余空格。 2. 检查文件权限:确认运行程序的账户有权限访问该文件或目录,...
### SSH项目部署在Window和Linux下的Weblogic上出现ClassNotFound异常解决办法 #### 背景介绍 在部署Java EE项目时,特别是采用SSH(Struts + Hibernate + Spring)架构的项目,在不同的应用服务器(如Tomcat、...
为了更有效地使用路径,下面列出了一些获取当前classpath和类文件绝对路径的方法: 1. **使用 `FileTest.class.getResource("")`**:这种方法可以获取当前类 `FileTest.class` 文件的URI目录,但不包含自身。例如:...
`ClassNotFoundException` 是 Java 开发过程中常见的运行时异常,通常发生在尝试加载某个类时,系统无法在指定的类路径(ClassPath)中找到对应的 `.class` 文件。本文将深入探讨 `ClassNotFoundException` 的原因、...
### Nginx反向代理不能访问项目的解决办法 在配置Nginx作为反向代理服务器时,有时会遇到可以通过域名正常访问Linux系统下部署的Tomcat服务器,但是却无法访问到部署在Tomcat上的具体项目的情况。这种情况通常是...
标题提到的"eclipse导入Javaweb项目出现大面积错误时解决办法"正是针对这种常见问题的解决方案。描述指出,这些错误通常源于Tomcat服务器或JDK版本与项目所依赖的版本不一致。 首先,我们需要理解Java Web项目中的...
### JCreator不能引入Servlet包的解决办法 在使用JCreator进行Java Web开发的过程中,特别是针对Servlet编程时,可能会遇到一个常见的问题:无法成功导入`javax.servlet.*`等相关的Servlet包。这个问题通常是因为...
### JDBC连接SQL Server 2005 解决办法详解 #### 一、下载与安装驱动程序 为了确保能够成功地通过Java Database Connectivity (JDBC) 连接到SQL Server 2005数据库,首要步骤是下载合适的驱动程序。根据描述中的...
### Linux下安装JDK1.6后仍显示1.4的解决办法 #### 背景与问题描述 在Linux环境中,用户安装了JDK 1.6版本之后,执行`java -version`命令时仍然显示旧版JDK 1.4的信息。这可能是因为系统默认使用的仍然是之前安装...
"java.lang.NoClassDefFoundError错误解决办法" java.lang.NoClassDefFoundError错误是一种常见的Java错误,它发生在Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。下面是该错误的解决...
### OBIEE12c 图形图表不显示问题解决办法 #### 问题概述 在使用 Oracle Business Intelligence Enterprise Edition (OBIEE) 12c 的过程中,用户可能会遇到图形图表无法正常显示的问题。具体表现为创建的图表为空白...