【问题标题】:Eclipse build path / JBoss AS7 Class Loading Exceptions questionEclipse 构建路径/JBoss AS7 类加载异常问题
【发布时间】:2011-08-17 20:24:32
【问题描述】:

我正在将 JBoss AS5 应用程序迁移到 AS7。由于 AS7 重新设计的模块化类加载设计,我遇到了 NoClassDefFoundErrors。我正在关注 JBoss 开发人员指南,了解如何解决类加载异常 https://docs.jboss.org/author/display/AS7/Developer+Guide#DeveloperGuide-Resolveclassloadingexceptionsandothererrors,它让您可以在应用程序的 MANIFEST.MF 文件中添加模块作为依赖项,但我遇到了很多麻烦。我尝试使用 MANIFEST.MF 或手动将 jar 复制到我的应用程序的 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 中。谢谢。

【问题讨论】:

  • 这个新模块的东西会让人头疼一两年。希望我能给你一个答案:(。
  • 您好,您好久没问这个问题了。你还有问题吗?在这种情况下,请使用您的应用程序的小目录结构更新您的问题,我可能会尝试给您更准确的答案。拥抱。

标签: java eclipse maven jboss


【解决方案1】:

在开发环境中使用 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),否则您将看不到任何更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多