Как я могу получить свой код для компиляции и запуска с несколькими jar-файлами в classpath? Пожалуйста, дайте мне знать, если я смогу предоставить больше кода!
Teachers-Air:testbank2 student$ ls
Bank.db extraFiles out
Server jars sources.txt
classes makefile
Teachers-Air:testbank2 student$ find . -name *.java > sources.txt
Teachers-Air:testbank2 student$ javac -d classes -cp jars/sqlite-jdbc-3.27.2.1.jar:jars/gson-2.6.2.jar @sources.txt
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Пока нет проблем с компиляцией, кроме устаревшего API. Это не связано с файлами jar, которые я здесь использую.
Когда я пытаюсь запустить скомпилированные файлы, включая файлы jar в пути к классам, я получаю эту ошибку ...
Teachers-Air:testbank2 student$ cd classes
Teachers-Air:classes student$ ls
DAO Request Service
Handler Response makefile
Model Server.class
Teachers-Air:classes student$ java -cp /jars/gson-2.6.2.jar:/jars.sqlite-jdbc-3.27.2.1.jar Server 8080
Error: Could not find or load main class Server
... хотя, похоже, нет проблем с поиском Основной класс, когда я не включаю файлы JAR.
Teachers-Air:classes student$ java Server 8080
java.lang.ClassNotFoundException: org.sqlite.JDBC
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)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at DAO.Database.<clinit>(Database.java:16)
at Server.<init>(Server.java:15)
at Server.main(Server.java:19)
Initializing HTTP src.Server
Creating contexts
Error, couldn't load database driver
Exception in thread "main" java.lang.NullPointerException
at DAO.Database.executeDBUpdate(Database.java:59)
at DAO.Database.createDBTables(Database.java:26)
at Server.run(Server.java:48)
at Server.main(Server.java:19)
Teachers-Air:classes student$
Если это проблема с синтаксисом в файле classpath, я с удовольствием попробую другие вещи, но я пробовал разные способы их включения, и все они получают одинаковый результат (возможно, потому что они все не правы, кто знает?)
Как я могу заставить мой код компилироваться и запускаться с несколькими jar-файлами в classpath?