Hi
@hugh, I still think that dependency is key to your issue. In fact, your own question hits the issue on the head:
"Do I go into the individual folders and copy the jars into Lucee/lib folder, or do I copy the folders themselves into the Lucee/lib folder?"
My answer to that follows in a moment. Before that, we have to face the additional question whether POI version 5.2.3 is compatible with your Lucee version.
To answer both questions, I did the following test on Lucee-Express-5.4.2.17:
1. Stop Lucee and delete the POI 5.2.3 Jars that had been imported.
2. Download
poi-bin-4.1.2-20200217.zip from the
Apache POI archive.
3. Unzip it, and copy the directory poi-4.1.2, including its contents, to {LUCEE_DIR}\webapps\ROOT\WEB-INF\lucee\lib\. So, the resulting path for the POI library is {LUCEE_DIR}\webapps\ROOT\WEB-INF\lucee\lib\poi-4.1.2, which includes the subdirectories lib and ooxml-lib.
4. Restart Lucee.
5. Launch a CFM page containing code similar to the following. (The code runs successfully: the result is attached.)
fos_object = createObject("java","java.io.FileOutputStream");
jar_file_paths=["C:\bin\lucee-express-5.4.2.17\webapps\ROOT\WEB-INF\lucee\lib\poi-4.1.2\",
"C:\bin\lucee-express-5.4.2.17\webapps\ROOT\WEB-INF\lucee\lib\poi-4.1.2\lib\",
"C:\bin\lucee-express-5.4.2.17\webapps\ROOT\WEB-INF\lucee\lib\poi-4.1.2\ooxml-lib\"];
WPF_document = createObject(type="java", class="org.apache.poi.xwpf.usermodel.XWPFDocument", context=jar_file_paths);
dump(fos_object);
dump(WPF_document);