В течение 2 часов я искал решение моей проблемы, пробовал бесчисленное количество решений, и проблема все еще остается нерешенной.
У меня есть игровой проект с несколькими пакетами;геометрия, уровни, декорации и игры.Внутри игрового пакета находится gameRun.java
package game;
public class gameRun {
/**
* Program entry point.
* @param args the arguments for the levels
*/
public static void main(String args[]) {
... some code
}
}
, и у меня есть следующий файл манифеста:
Main-Class: game.gameRun
Class-Path: someExternalGraphicTool.jar
//newline here
Я собираю всю свою игру, используя следующую команду: (папка bin ужесуществует).
javac -d bin src/geometry/*.java src/decoration/*.java src/levels/*.java src/game/*.java
Затем я преобразую свои скомпилированные классы в исполняемый файл .jar, используя команду:
jar cvfm t.jar manifest.mf bin/geometry/*.class bin/decoration/*.class bin/levels/*.class bin/game/*.class
Затем я пытаюсь запустить свой t.jar, используя:
java -jar t.jar
//or
java -cp .:t.jar game.gameRun
, которые оба выдают ошибку «Ошибка: не удалось найти или загрузить основной класс game.gameRun». Однако, когда я разархивирую файл jar, внутри каталога bin / game я вижу файл gameRun.classи внутри файла META-INF \ MANIFEST.MF я все еще вижу, что для Main-Class установлено значение game.gameRun.
Обратите внимание, что я работаю на удаленном сервере Linux, в командной строке иJAR-файл не работает, даже если я загружаю его на свой компьютер с Windows 10.
Что я сделал не так во время этого процесса?Спасибо за любую помощь.