Создание Jar-файлов, дубликат Classpath - PullRequest
1 голос
/ 02 июня 2011

Если я создаю superjar.jar и ему нужен файл jar stellar.jar Мне нужно добавить следующую строку в файл манифеста для superjar.jar Class-Path: path/to/stellar.jar.Но в моем classpath у меня уже есть stellar.jar.Так в чем здесь дело?Почему superjar.jar не может попытаться найти местоположение stellar.jar из моего пути к классам?

Ответы [ 3 ]

0 голосов
/ 02 июня 2011

Две вещи:

  1. Путь к stellar.jar относительно superjar.jar
  2. Если stellar.jar уже находится в пути к классам, он находится в пути к классам независимо отчто говорит манифест superjar.jar.
0 голосов
/ 03 июня 2011

Мне нужно добавить следующую строку в файл манифеста для superjar.jar Class-Path: path / to / stellar.jar.

Вам нужен этот путь в вашем суперджаре, если переменная окружения CLASSPATH игнорируется и игнорируется, если вы используете суперджар в качестве исполняемого файла jar и начинаете его с

java -jar superjar.jar

superjar.jar может получить доступ к classpath, если он запущен без переопределения classpath с другим специальным classpath и без техники запуска исполняемого файла jar, который всегда просто использует CLASSPATH внутри этого jar и всегда игнорирует дополнительные попытки классовых путей.

CLASSPATH=/foo/bar/superjar.jar:/opt/some/stellar.jar 
java somepackage.SomeClass

Является ли путь к классу относительным или абсолютным, это другое, не связанное с этим обсуждение. Приведенный выше пример использует синтаксис Unix / Linux. В Windows вы должны использовать обратную косую черту и разделитель ";".

0 голосов
/ 02 июня 2011

Если CLASSPATH означает переменную среды, вы узнаете, что Java, все IDE и все серверы приложений Java EE игнорируют ее.

У меня нет переменной среды CLASSPATH ни на одной машине, котораяЯ работаю, потому что это бесполезно.Вам нужно научиться правильно устанавливать CLASSPATH без зависимости от переменной среды.

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