2016-08-28 4 views
3

В файле фляги, MANIFEST.mf содержит следующую строку:java -jar: Каков путь к классу по умолчанию?

стиль A:

Class-Path: . 

стиль B:

Class-Path: . eric-java-util_lib/tomcat-api.jar 

стиле C:

// No `Class-Path` specified. 

Вопросы:

  1. В стиле В, является ли баночка, указанная Class-Path, связанным с проживающим диском текущей банки?
  2. Тогда в стиле А и В, что означает .? Является ли это несжатым корневым диском баночки, или находящимся в нем постоянным регистром? Думаю, это должно быть позже, но не уверен.
  3. Кажется, классы & пакетов, кроме MANIFEST.mf, также включены в путь класса во всех трех стилях, из-за .? Или путь по умолчанию для java -jar - это только корневой каталог uncompress jar-файла?

ответ

2

Как вы используетеjava -jar, применяется следующее:

В стиле B, является баночка указанный Class-Path, связанные с проживанием дир текущей баночке?

Это связано с «проживающим диском текущего сосуда» во всех стилях.

Тогда в стиле A и B, что. имею в виду?

Это означает, что каталог .jar-файла находится.

Является ли это несжатый корень дир баночки

No.

или проживания дира текущей баночки?

Да.

Я думаю, это должно быть позже, но не уверен.

Да. Быть уверенным.

Кажется, что классы & пакетов, кроме MANIFEST.mf, также включены в путь класса во всех трех стилях, из-за.?

Я не знаю, что означает «помимо MANIFEST.mf».

Или, по умолчанию classpath для java -jar - это только корневой каталог jar-файла uncompress?

Там не по умолчанию не путь к классам для java -jar кроме самого .jar файла и все, что указано в Class-Path манифесте записи.

+0

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

0

В стиле B, это баночка определяется Class-Path, связанные с проживанием дир текущей баночке?

Да, это (см. Примечание к документации по Java SE ниже).

Тогда в стиле А и В, что означает .? Является ли это несжатым корневым диском баночки, или находящимся в нем постоянным регистром? Думаю, это должно быть позже, но не уверен.

Это каталог проживания в банке (см. Документацию по Java SE ниже).

кажется классы & пакеты помимо MANIFEST.mf также включены в путь к классам во всех 3-х типов, это связано с .? Или путь по умолчанию для java -jar - это только корневой каталог uncompress jar-файла?

Как указано в Java SE Documentation: How the Java Launcher Finds User Classes:

значение по умолчанию, это означает, что файлы классов пользователей все файлы классов в текущем каталоге (или под ним, если в пакете) «».

...

JAR-архив задается -jar вариант, который переопределяет все другие значения. Если этот параметр используется, все пользовательские классы должны поступать из указанного архива.

+0

Ваша ссылка ссылается на «путь пользовательского класса», который игнорируется при использовании 'java -jar'. – EJP

+0

Вот почему это дополнительная информация, а не часть ответа. Является ли это причиной пониженного голосования? – acm

+0

Ваша дополнительная информация означает, что вы читаете статью, даже не цитируя ее. Это не имеет никакого значения или релевантности, и это не часть того, что я комментирую, что явно * является частью вашего ответа. – EJP

Смежные вопросы