Я знаю , что есть эта статья на JAR - файлов в Linux , но решение включает в себя некоторые специальные команды Linux я не знаю, и в конечном счете , я хотел бы понять , если я могу получить доступ к JAR (и баночки это зависит от) без необходимости писать сценарий.
Я нахожусь на Windows 7, и мой основной класс Java - org.sync.MainEntry
расположенный в моем главном JAR, называется synchronizer.jar
. Я поместил абсолютный путь ко всем другим JAR-файлам, от которых он зависит, в мою переменную CLASSPATH
в «Компьютер» -> «Дополнительные настройки» -> «Переменные среды». Я даже пытался переместить эти JAR-файлы в ту же папку, что и мой основной JAR-файл.
Но когда я выполняю (в командной строке, перешел на мой основной JAR, с или без других JAR) следующий вызов:
java org.sync.MainEntry
Я получаю «Невозможно получить доступ к jarfile org.sync.MainEntry "ошибка. Поэтому я перемещаю ВСЕ банки в одно и то же место и должен сделать
java -cp my_other_jar.jar;my_other_other_jar.jar;synchronizer.jar org.sync.MainEntry
и это, наконец, работает. Или я могу заменить все банки просто *. Но мне нужно либо переместить все JAR-файлы в одно и то же место, либо указать полные пути, и я чувствую, что должен быть способ обойтись без создания сценария оболочки или записи полных путей JAR каждый раз.
Основываясь на упомянутой выше статье, я рад признать, что CLASSPATH
не видит jar-файлы, а только классы внутри, но JAR - это архив, может быть, я могу как-то извлечь их и указать на них CLASSPATH
?
Заранее спасибо за помощь!