问题标签 [noclassdeffounderror]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 为什么我在 Java 中收到 NoClassDefFoundError?
NoClassDefFoundError
当我运行我的 Java 应用程序时,我得到了一个。这通常是什么原因?
java - 使用 java 1.4.2_07-b05 在 Tomcat 上具有长类名的 NoClassDefFoundError
我有一个java类:
it.eng.ancona.view.RuoliView$TabElaborazioneFattureValidazione$ElencoDettaglioElaborazioneFattureValidazione$RigaElencoDettaglioElaborazioneFattureValidazione
多个内部类太长了。
如果我在 Eclipse 上使用 1.4.2_07-b05 并调用这个类,一切都会好起来的。
如果我在 Tomcat 5.0 上使用 1.4.2_07-b05 它会抛出NoClassDefFoundError
.
我尝试删除类名,之后一切正常。
我在网上搜索过,我发现一个类名的最大长度是 65000,所以长度应该是可以的。并在日食所有作品。
操作系统是 Vista。
有人知道这是一个错误还是其他什么?
java - 在 Tomcat 上访问 GraphicsEnvironment.getLocalGraphicsEnvironment 时出现 NoClassDefFoundError
我有一个在 tomcat 上运行的应用程序,其中一种方法是从 jpeg 图像创建一个简单的缩略图。这些功能离线工作正常,一周前也在tomcat上工作。但现在我收到以下错误:
我认为我没有改变任何应该影响这一点的东西(实际上我根本没有根据 svn 存储库改变函数),所以它一定是一个库问题。但我无法弄清楚缺少什么。以下是发生错误的 getThumbnail 函数的实际行:
[编辑] 我决定稍微更新一下问题描述。是的,他似乎无法从 java.awt 中找到一些类或与之相关的类。但它们确实存在于 jvm 的服务器上。Java 无头模式并不能解决问题。在另一个项目中,完全相同的代码,但在此服务器上的axis2 webservice 内工作正常。[/编辑]
java - jar 内的 NoClassDefFoundError
我有一个类,它位于一个名为 com.toptur.sysTray 的包中,它所做的只是加载系统托盘,它不使用任何外部包。我创建一个 SysTray 对象来安装系统托盘。一切都很好。我可以从命令行运行应用程序并安装系统托盘。但是当我尝试从类文件创建一个 jar 并运行它时,我得到了 NoClassDefFoundError。
包及其类文件在我的应用程序不使用 ant 外部 jar 的 jar 中。只是java提供的类。
如果从 jar 中构建一个 .exe 文件,它会再次开始工作而不会出现任何错误。
我怎样才能找到这个?
我使用上面的代码从 ant 目标创建 jar 文件。驱动程序不在包中。它位于 gotacan.java
我使用 java -jar toptur.jar 运行它
程序的其余部分工作它只在我尝试使用该包时抛出异常。
java - 奇怪的类路径,.NoClassDefFoundError 错误
编辑:找到解决方案。这很奇怪,不是最好的解决方案,但我只是继续将我的 JAVA CODE (com.*) 类放在 swt.jar 中,以便 swt.jar 和我的类在完全相同的时刻同时加载类加载器。不是最好的解决方案,而是临时解决方案
编辑:我在这里添加了大部分代码:http: //groups.google.com/group/clojure/browse_thread/thread/1d7dd4913b2f9aa7 http://groups.google.com/group/clojure/web/NoClassDefIssue.zip http : //groups.google.com/group/clojure/web/MostCodeIssue.java
这是奇怪的 no classdef not found 错误。这是与我 90% 的代码工作的情况略有不同的场景。请忽略我正在使用 Clojure,我也使用常规 Java 代码完成了此操作,但仍然遇到相同的错误。
理想情况下,我希望对自定义类加载器有所帮助。我最初的想法是我可以创建类加载器,将 jar 的文件路径/url 添加到类加载器中,然后我可以启动我的代码。但显然发生了一些奇怪的事情。
我有一个动态加载 4-5 个辅助 jar 文件的 jar 文件。它建立在一个简单的 URLClassLoader 之上。我想这样做是因为我可以让用户单击一个 jar 文件并启动应用程序。所以有一个项目是用户必须担心的。
通过单击此 jar 文件,应用程序从文件系统加载 jar 文件。例如,应用程序加载 swt.jar(Eclipse 的小部件工具包)和其他一些 jars。
3(但不用担心),我的应用程序是基于 Clojure(动态编程语言)构建的,第一个启动的应用程序是这个 Clojure 脚本。我的大部分应用程序都在 clojure 脚本中。
4. 1-3 以内的一切都可以正常工作。应用程序加载和 clojure 脚本运行,SWT GUI 应用程序运行等。
这是不起作用的部分。
我有一个现有的 java 库,称之为 my-swt-gui.jar。那也是一个 swt 应用程序。它基本上已经构建了另一个 gui 应用程序。我正在尝试从我当前的 clojure/swt 应用程序加载窗口。由于某种原因,面向 JAVA 的库无法识别 SWT,并且出现 noclassdef 错误。
这就是奇怪之处。我将确定我认为可能存在异常的地方。
Entitis:A. 面向 java 的类加载器。在 java 类加载器中,我启动了 clojure 应用程序。SWT 和其他 jar 文件使用这个类加载器加载。B. 节实体调用的面向 Clojure 的代码 clojure 代码是一个基于 swt 的 GUI 应用程序。B 工作正常。C. 包含另一个 GUI 窗口的 Java 代码。出于某种原因,这个库不会加载,我得到了错误,noclassdef。
注意:我知道 SWT 类实际上在类路径中,否则我会得到 NoClassFound 异常。我没有得到那个例外。其他事情正在发生。
注意:SWT 包含 win32 dll 是否也是一个问题?也许第一次访问win32 dll jar可以,但是使用java代码它不起作用?但这很奇怪。为什么 SWT 会起作用,然后又不起作用?
我无法向您展示所有代码,希望可以向您展示相关的部分。
这是主要的类加载器代码:
这就是我尝试加载 java swt 窗口的方式。我试图打印出尽可能多的关于类加载器并更改为不同的类加载器。
公共静态最终无效createPDFWindowShell(IStartService服务,最终对象外壳,最终对象globalClassLoader)抛出异常{
}
这是错误:
-
java - 运行 jar 时的 NoClassDefFound
我使用 IntelliJ 构建了一个 jar,正确设置了主类。
当我从命令行(Windows)运行“java -jar foo.jar”时,我得到一个异常,声称主文件丢失。主类看起来像:
我收到以下异常:
清单文件包含:
jar 包含带有 .class 文件的适当目录结构。
jar - 如何在 Axis 中包含个人 JAR?
我使用 Axis 1.4,我需要使用 JAR 中收集的类。
我不想提取它们。
我试着把它放进去:
/usr/share/tomcat5.5/webapps/axis/WEB-INF/lib/myjar.jar
/usr/share/tomcat5.5/webapps/axis/WEB-INF/classes/myjar.jar
/opt/axis/lib/myjar.jar
/root/myjar.jar
但我仍然有一个错误。
myjar.jar
在我的$CLASSPATH
(所以编译效果很好)。
我错过了我的东西deploy.wsdd
或其他东西吗?
这是轴错误:
web-services - 尝试列出服务时出现 Apache Axis NoClassDefFoundError
当我尝试列出由 Axis 提供支持的 Web 服务时,当我尝试访问任何服务的 WSDL 时,以及当我尝试使用有问题的服务时,都会引发异常:
Servlet AxisServlet 的 Servlet.service() 抛出异常
java.lang.NoClassDefFoundError: com.example.MyAwesomeServiceSoapBindingImpl
现在,我知道该类在 Axis Web 服务的 WEB-INF/lib 目录中的一个 jar 中可用,并且自从我把它放在那里后,我已经重新加载了 Axis。
任何想法,任何人?
[tomcat 5.5.x,Apache Axis 版本:1.4 构建于 2006 年 4 月 22 日(太平洋夏令时间 06:55:48)]
java - 在 Java 中,为什么 Exception 类需要在需要之前对类加载器可用?
我正在开发一个动态加载 JAR 的应用程序,其中包含它使用的一堆类的定义。一切都很顺利,直到我尝试捕获动态加载的 JAR 中的异常派生类。
以下片段显示了问题(DynamicJarLoader
是实际加载 JAR 的类;两者TestClass
都MyException
在外部 JAR 中):
当我尝试运行它时,我得到了这个:
如果我替换catch(MyException e)
为catch(Exception e)
,程序运行良好。这意味着 Java能够TestClass
在 JAR 已经加载之后进行查找。因此,JVM 似乎需要在程序开始运行时定义所有异常类,而不是在需要它们时(即到达特定的 try-catch 块时)。
为什么会这样?
编辑
我已经进行了一些额外的测试,这确实很奇怪。这是完整的来源MyException
:
此代码运行:
这不会:
我应该指出,每当我从 NetBeans 运行测试时,一切都按计划进行。只有当我强行从 Java 中移除外部 Jar 并从命令行运行测试应用程序时,才会开始奇怪。
编辑#2
根据答案,我写了这个,我认为这证明我接受的确实是正确的:
java - Java 应用程序 NoClassDefFoundError
创建了一个 Java 应用程序以通过 CIS(内容集成套件)将文档上传到存储应用程序。该应用程序在 RAD 中成功运行,但在 unix 环境中作为可执行 jar 得到 NoClassDefFoundError。我在本地机器上找不到该课程,并且互联网上没有对该课程的引用。
清单包含所需 jar 文件和主类的类路径。
任何人都可以帮忙吗?
更新:我只有一个处理 CIS 的 jar 文件。我在罐子里看了看,里面没有类。我不熟悉任何其他具有 CIS 类的 RAD 默认类。这不仅发生在这个类上,也发生在 webservices.jar 中包含的类上。我可以看到该类,它是我的类路径的一部分,因为当我从路径中删除 Jar 时,它会抱怨另一个缺少的类。当我将它放回我的路径时,它会在程序中走得更远并给出相同的错误。