gpt4 book ai didi

java - Eclipse 构建路径/JBoss AS7 类加载异常问题

转载 作者:行者123 更新时间:2023-11-29 09:20:02 25 4
gpt4 key购买 nike

我正在将 JBoss AS5 应用程序迁移到 AS7。由于 AS7 重新设计的模块化类加载设计,我遇到了 NoClassDefFoundErrors。我正在关注 JBoss 开发人员指南,了解如何解决类加载异常 https://docs.jboss.org/author/display/AS7/Developer+Guide#DeveloperGuide-Resolveclassloadingexceptionsandothererrors ,它让你做一些事情,比如在你的应用程序的 MANIFEST.MF 文件中添加模块作为依赖项,但我在这方面遇到了很多麻烦。我尝试使用 MANIFEST.MF 或手动将 jars 复制到我的应用程序的 WEB-INF/lib/目录来解决我的类加载错误似乎都没有用。

在 Eclipse 中,我尝试右键单击我的项目并手动将我的类加载错误指定的类添加到我项目的 JAVA BUILD PATH 中。我能够使用此方法消除所有类加载错误。我的问题是 - Eclipse 如何存储构建路径信息并使其可用于我的 Maven 构建?它是使用 JAVA BUILD PATH 信息在文件系统的某处创建 MANIFEST.MF 或 jboss-deployment-structure.xml 吗?我想找到 Eclipse 用来存储 JAVA BUILD PATH 的任何文件,这样我就可以部署我的应用程序,而不必通过 Eclipse 手动将依赖项添加到我的 JAVA BUILD PATH。谢谢。

最佳答案

在开发环境中乱用 MANIFEST.MF 听起来很可怕。对于自动依赖管理,使用 Maven(它不是理想的工具,但它是标准的,有很好的 Eclipse 插件,所以,毕竟,使用它不是那么痛苦)。

Java 构建路径由 Eclipse 存储在项目目录中的 .classpath 文件中(注意开头的点)。该文件看起来或多或少像这样:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="lib/dom4j-1.6.1.jar"/>
<classpathentry kind="lib" path="lib/oscache-2.1.jar"/>
<classpathentry kind="lib" path="lib/proxool-0.8.3.jar"/>
<classpathentry kind="lib" path="db/derby.jar"/>
<classpathentry kind="lib" path="db/derbyclient.jar"/>
<classpathentry kind="lib" path="lib/commons-logging-1.1.1.jar"/>
<classpathentry kind="lib" path="lib/log4j-1.2.16.jar"/>
<classpathentry kind="lib" path="lib/slf4j-api-1.6.1.jar"/>
<classpathentry kind="lib" path="lib/slf4j-log4j12-1.6.1.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>

因此,如果您有依赖项列表,可以使用简单的脚本生成它。

请记住,Eclipse 喜欢缓存内容。因此,当您更改 .classpath 文件时,请手动刷新您的项目 (F5),否则您将看不到任何更改。

关于java - Eclipse 构建路径/JBoss AS7 类加载异常问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7099001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com