0

全部,

我已经有好几次了。我在 Netbeans 上创建了一个新的 Java 企业 Web 应用程序,在运行 MySql 的 glassfish 上添加 Primefaces 4、Spring

我的 ejb 项目中有一些参考工具类,我通过 Mac 上的 Finder/Explorer 添加了类。Clean & build 一切正常,但是当我想部署时,我得到了错误:

java.lang.NoClassDefFoundError: Lorg/utils/sql/SqlUtils;

这是我作为 org/utils/sql/SqlUtils 正确导入的类,但由于某种原因,它在前面添加了一个“L”,然后显然找不到它。我之前发现删除类并禁用导入只会抱怨任何其他文件。

在以前的项目中,我有一些自动创建的实体类,当我删除它们时发生了错误,即使它们与导入相关的错误无关。当我把实体类放回去时,错误也消失了。

如果有人可以提供帮助,将不胜感激。

4

2 回答 2

1

您看到的是 class 的内部名称org.utils.sql.SqlUtils

有关解释,请参阅Java 虚拟机规范中的4.3 描述符和签名。前缀L表示该类型是一个类,如您所见。

正如 Darkhogg 在评论中提到的那样,问题很可能发生,因为您的类路径中缺少包含 class 的库org.utils.sql.SqlUtils

于 2013-10-24T18:22:53.800 回答
0

谢谢大家..这肯定有助于理解“L”。我还设法修复了一些依赖项,但最后它恢复到原来的错误。我现在通过将实体类重新插入 ejb 项目来“修复”这个问题。我不使用它们,它们是无用的包袱,我不明白为什么没有它我就不能运行应用程序......

无论如何,仅供参考,上面没有我的“修复”的堆栈是:

信息:SEC1002:安全管理器已关闭。信息:SEC1010:进入安全启动服务信息:SEC1143:加载策略提供程序 com.sun.enterprise.security.provider.PolicyWrapper。信息:SEC1011:安全服务已成功启动信息:
this.makeModuleFor(org.glassfish.main.web.glue, null) 返回 OSGiModuleImpl:: Bundle = [org.glassfish.main.web.glue [350]],状态 = [就绪] 信息:
AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544) at java.lang.Thread.run(Thread.java:724) : org.xml.sax.SAXParseException; 行号:7;列号:6;不允许匹配“[xX][mM][lL]”的处理指令目标。在 com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198) 在 com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)在 com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441) 在 com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368)在 com.sun.org.apache.xerces.internal。

glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564) at org.glassfish.grizzly.threadpool.AbstractThreadPool$ Worker.run(AbstractThreadPool.java:544) at java.lang.Thread.run(Thread.java:724) 引起:org.xml.sax.SAXParseException; 行号:7;列号:6;不允许匹配“[xX][mM][lL]”的处理指令目标。在 com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198) 在 com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)在 com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:

严重:加载应用程序时出现异常严重:加载应用程序时出现异常:WELD-001202 解析文件时出错:/Users/drtobiaswahl/NetBeansProjects/MovieWahl/dist/gfdeploy/MovieWahl/MovieWahl-war_war/WEB-INF/beans.xml org. xml.sax.SAXParseException; 行号:7;列号:6;不允许匹配“[xX][mM][lL]”的处理指令目标。在 com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198) 在 com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177)在 com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441) 在 com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368)在 com.sun.org.apache.xerces。

严重:在观察 BeforeShutdown 期间抛出异常严重:org.jboss.weld.bootstrap.events 的 org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:63) 处的 java.lang.NullPointerException。 BeforeShutdownImpl.fire(BeforeShutdownImpl.java:48) at org.jboss.weld.bootstrap.events.BeforeShutdownImpl.fire(BeforeShutdownImpl.java:39) at org.jboss.weld.bootstrap.WeldBootstrap.shutdown(WeldBootstrap.java:642)在 org.glassfish.weld.WeldDeployer.doBootstrapShutdown(WeldDeployer.java:309) 在 org.glassfish.weld.WeldDeployer.event(WeldDeployer.java:276) 在 org.glassfish.kernel.event.EventsImpl$1.run(EventsImpl. java:123) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util。concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:724)

警告:AS-CDI-036

于 2013-10-25T16:33:08.740 回答