gpt4 book ai didi

Java 库文件错误

转载 作者:行者123 更新时间:2023-11-28 23:54:26 24 4
gpt4 key购买 nike

我是一名全新的 Java 开发人员(我一直在 asp.net 工作),我继承了一个项目,我正在努力使其正常运行。我在 Windows 7 上安装了 Tomcat,我正在使用 Eclipse

我正在尝试弄清楚 Jar 在 Java 中到底是如何工作的,此刻我真的很困惑。我一直在玩它并在网上查找资料大约一天了,这就是我所在的位置:

我有一个我继承的动态 Web 项目,我假设它是一个相当标准的项目布局。项目根目录中有一个 lib 文件夹,其中包含一些 jar。

如果我不执行任何操作并转到站点中的特定页面,我会收到此错误:“无法解析导入 net.sf,无法将 XLSTransformer 解析为类型”

所以我在 Eclipse 中将 jxls-core-0.9.8.jar 添加到我的构建路径中并且该错误消失了但现在我收到此错误“java.lang.ClassNotFoundException:net.sf.jxls.transformer.XLSTransformer”

我将该 jar 从其当前位置复制到 tomcat/lib 目录,该错误消失了。现在我在另一个文件中遇到了本质上相同的问题。

主要是想知道jar应该怎么工作?它们是否需要在类路径中,在 web/WEB-INF/lib 中,在 tomcat/lib 中,在所有这些中,没有一个我无法弄清楚。

此外,当我环顾四周时,我看到了一些表明我的类路径条目的顺序也很重要的东西。如果是这种情况,您如何确保它们的顺序正确。

最佳答案

实际上,您的 jars 需要放在哪里取决于 - 涉及到完整的最佳实践和主要的头痛问题。术语Jar Hell存在是有原因的。

您的应用程序使用的所有类都必须在类路径中。他们到达那里的方式将因 classloader 而异。 .

为了更全面地理解,您需要阅读有关 Java 的文章 classloader .理想情况下,您需要查看 Tomcat 的 classloader。 ,或者至少是 Servlet 容器的类加载器,因为 Tomcat 的类加载器将不同于 Java SE(桌面)应用程序的类加载器,也将不同于 applet 的类加载器。最重要的是,如果您不理解类加载器,它们真的会让您感到厌烦。如果你想了解 servlet 容器应该如何工作的详细信息,你可以查看最新最好的 Servlet specification .

Tomcat的信息classloader为您提供最佳实践 list 。请注意,我已经链接了 5.5 版本。如果您使用的是更高版本或更早版本,请检查您的版本是否有相同的文件。

关于Java 库文件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2724352/

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