我需要从 java 类加载一个静态 PDF 文档,该文档在 WebLogic 12c 上的 J2EE Web 应用程序中运行;然而,尽管我的代码可以在 Tomcat 中运行,但当尝试在 WebLogic 12c(WebLogic Server 版本:12.2.1.2.0)中运行它时,我收到一个服务器错误,指出找不到 PDF 文件(java.io.FileNotFoundException)。
我正在使用 Apache 的 PDF 库 PDFBox 版本 2.0.8 加载我创建的可填写 PDF 文件,然后用数据填充该可填写 PDF。我的代码在 Tomcat 中运行良好,但在部署到 WebLogic 12c 时找不到 pdf 文件。
-这似乎是因为当 EAR 文件部署到 WebLogic 12c 时,WAR 文件中的内容(所有应用程序代码/文件,包括可填写的 PDF 文件)仍然存档在 WebLogic 创建的 jar 文件中,而不是爆炸了。
我的应用程序使用标准的 Maven 应用程序结构,因此与所有静态文件都是标准的,我已将 PDF 文件放在静态资源目录中:
src/主/资源/
在我的 pom.xml 文件中,我有以下内容,它将 /src/main/resources/ 文件夹中的所有 pdf 文件构建到 WAR 文件的类路径根文件夹中。
<resource>
<directory>${basedir}/src/main/resources/</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
<include>**/*.pdf</include>
</includes>
</resource>
Run Code Online (Sandbox Code Playgroud)
当我构建 WAR 和 EAR 文件时,pdf 文件确实被复制到应用程序类文件的根文件夹中。 …