gpt4 book ai didi

tomcat - war的依赖在类路径中寻找文件

转载 作者:行者123 更新时间:2023-11-28 22:14:20 25 4
gpt4 key购买 nike

我正在使用共享库作为我的 Java EE 项目的依赖项。 War 文件正在部署到 Tomcat。

共享库依赖于在类路径中找到的文件。有没有办法保证文件将在类路径中?我无法在共享库中硬编码文件的路径。我也不能避免使用需要它的类。

最佳答案

打包您的 WAR

最简单的解决方案是,如果可以的话,将所有依赖的 JAR 文件和类打包到可部署的 WAR 文件中。然后您可以控制如何从您指定的类路径加载它们。

正如 BGR 提到的,所有已编译的 java scource(*.class 文件)都应该在 web-inf\classes 目录下的 WAR 文件中可用

任何支持的 JAR 文件都应放在 WAR 文件内的 web-inf\lib 目录下。

Tomcat 知道这些目录结构,因为它是 WAR 文件的行业标准格式。

您当然可以偏离此标准结构并从 WAR 之外的其他地方加载 JAR 文件,但是您必须了解潜在的类加载问题。我提到的是最简单的前进方式。

类路径中是否存在文件?

在您的应用程序中,您可以执行类似这样的操作来检查您的类路径中是否存在特定文件。

URL resource = this.getClass().getClassLoader().getResource(path);

以下是来自 Oracle 的关于 Location-Independent Access to Resources 的一些补充阅读

关于tomcat - war的依赖在类路径中寻找文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9902663/

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