I am sure that this has been asked at some point and answered but all the questions I have reviewed either don't seem to apply to me or don't make sense.
I have not needed to utilize external jars and have always used just the JDK in the past but wanted to make sure I knew how to do this. I created an application to compute and validate a file checksum against another file and moved several functions to an external jar to reference in my code.
I am using IntelliJ as my IDE. I can compile and run the code just fine from IntelliJ but when I create the executable JAR file and run it, any function referenced in my JAR file is throwing a NoClassDefFoundError. I am not sure what I am doing wrong.
I have listed the Jar in the manifest Class-Path
Manifest-Version: 1.0
Class-Path: lib/Utilities.jar
Main-Class: net.rethfam.checksumChecker.Main
I have made sure the JAR file is listed in the Project Dependencies
And that it is to be exported in the JAR
I have even validated that the jar file is listed in the executable jar using jar tf
jar tf ChecksumChecker.jar
META-INF/MANIFEST.MF
lib/
lib/Utilities.jar
META-INF/
net/
net/rethfam/
net/rethfam/checksumChecker/
net/rethfam/checksumChecker/controllers/
net/rethfam/checksumChecker/controllers/MainScreenController$1.class
net/rethfam/checksumChecker/controllers/MainScreenController.class
net/rethfam/checksumChecker/images/
net/rethfam/checksumChecker/images/checkImage-128x128.png
net/rethfam/checksumChecker/images/checkImage-16x16.png
net/rethfam/checksumChecker/images/checkImage-256x256.png
net/rethfam/checksumChecker/images/checkImage-32x32.png
net/rethfam/checksumChecker/images/checkImage-512x512.png
net/rethfam/checksumChecker/images/checkImage-64x64.png
net/rethfam/checksumChecker/images/CheckSumIcon.ico
net/rethfam/checksumChecker/images/Origional/
net/rethfam/checksumChecker/images/Origional/checkImage-Orig.png
net/rethfam/checksumChecker/Main.class
net/rethfam/checksumChecker/views/
net/rethfam/checksumChecker/views/MainScreen.fxml
Utilities.jar
I am ultimately at a loss at this point and tired of hitting my head against this wall. I don't feel like it should be this difficult.
Caused by: java.lang.NoClassDefFoundError: rethfam/ultis/fileUtils
at net.rethfam.checksumChecker.controllers.MainScreenController.handleFileChooser(MainScreenController.java:68)
... 58 more
Caused by: java.lang.ClassNotFoundException: rethfam.ultis.fileUtils
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 59 more