Hallo Shawn

I use something like this:

InputStream resourceAsStream =
getClass().getClassLoader().getResourceAsStream("/META-INF/pdfforms/" +
*aPDFFormularName*);

PDDocument pdfDocument = PDDocument.*load*(resourceAsStream);

This inside an EJB but I believe it will work for a WAR as well

Ciao

Fabio


2018-04-19 15:13 GMT+02:00 [email protected] <
[email protected]>:

>
> I need to load a static PDF document, from a java class, running in my
> J2EE web app on WebLogic 12c; however although my code works in Tomcat,
> when trying to run it in WebLogic 12c (WebLogic Server Version:
> 12.2.1.2.0), I get a server error that the PDF file cannot be found (
> java.io.FileNotFoundException).
>
> I am using Apache's PDF library, PDFBox version 2.0.8 to load a fillable
> PDF file that I created, and then populate that fillable PDF with data.  My
> code works fine in Tomcat, but fails to find the pdf file when deployed to
> WebLogic 12c .
>
> -This appears to be because when an EAR file is deployed to WebLogic 12c,
> the contents in the WAR file (all of the application code/files, including
> the fillable PDF file), remain archived up in a jar file that WebLogic
> creates, instead of exploded.
>
> My application utilizes the standard Maven application structure, so as is
> standard with all static files, I have put my PDF file in the directory for
> static resources:
> src/main/resources/
>
> In my pom.xml file, I have the following, which builds any pdf files in
> the /src/main/resources/ folder, into the class path root folder of the WAR
> file.
>          <resource>
>                 <directory>${basedir}/src/main/resources/</directory>
>                 <includes>
>                     <include>**/*.xml</include>
>                     <include>**/*.properties</include>
>                     <include>**/*.pdf</include>
>                 </includes>
>             </resource>
>
> When I build the WAR and EAR file, the pdf file does indeed get copied
> into the root folder of the application's class files.
>
> The following 3 lines of code, work to load the PDF, when my application's
> EAR file is deployed in Tomcat, but do not in WebLogic 12c (WebLogic Server
> Version: 12.2.1.2.0).
>
>     //this classLoader works for Tomcat, but no in WebLogic 12c
>     ClassLoader classLoader = getClass().getClassLoader();
>     File file= new File(classLoader.getResource("
> myPdfFile.pdf").getFile());
>     PDDocument document = PDDocument.load(file);
>
> WebLogic 12c produces the following error:
>
> ####<Apr 17, 2018, 1:21:50,798 PM EDT> <Error> <HTTP> <HQCIOLT1667133>
> <DefaultServer> <[ACTIVE] ExecuteThread: '6' for queue:
> 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <>
> <3902331f-a214-42fe-a6a1-35b3531e4b56-000000a9> <1523985710798>
> <[severity-value: 8] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] >
> <BEA-101019> <[ServletContext@1661988196[app:mmhsrp-ear-4.9.0.1-3
> module:/mmhsrp path:null spec-version:3.1]] Servlet failed with an
> IOException.
> java.io.FileNotFoundException: C:\Users\shawn.oplinger\
> AppData\Roaming\JDeveloper\system12.2.1.2.42.161008.1648\
> DefaultDomain\servers\DefaultServer\tmp\_WL_user\
> mmhsrp-ear-4.9.0.1-3\l27tj7\war\WEB-INF\lib\_wl_cls_gen.jar!\myPdfFile.pdf
> (The system cannot find the path specified)
>
>
> -When I browse my file system, to manually try to find the pdf file using
> the path in the WebLogic I can get as far as this directory:
> C:\Users\shawn.smith\AppData\Roaming\JDeveloper\system12.2.
> 1.2.42.161008.1648\DefaultDomain\servers\DefaultServer\tmp\_WL_user\
> mmhsrp-ear-4.9.0.1-3\l27tj7\war\WEB-INF\lib\
>
> in that directory is then this file:
> _wl_cls_gen.jar
>
> in that jar file is indeed my pdf file:myPdfFile.pdf
>
> -So why can't the classLoader find/load the pdf file?
> -does it have anything to do with the pdf file is actually in the archived
> _wl_cls_gen.jar file, and not exploded?
>
> -Any suggestions on how my java class can load a static pdf file in
> WebLogic 12c?
>
> Thanks!
> Shawn
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to