в том числе триггеры JAR-файла "не удалось загрузить или найти сервер основного класса" ошибка - командная строка java - PullRequest
0 голосов
/ 22 февраля 2020

Как я могу получить свой код для компиляции и запуска с несколькими 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...