Что означает одна точка (".") В Distribution Manifest.mf? - PullRequest
2 голосов
/ 04 февраля 2011

В последнее время я немного запутался в отношении путей классов в Manifest.mf-файлах.Так что я хочу, чтобы аутсорсинг некоторых properties.files из моего дистрибутива.jar и поместить их рядом с ним без изменения java-source-files.

Следующий пример: В настоящее время я могу открыть файл свойствкак это:

this.getClass().getClassLoader().getRessourceAsStream( "/config/jdbc.properties" );

jdbc.properties находится в исходной папке eclipse с именем 'resources' и пакетом с именем 'config'.Теперь, когда я собираю дистрибутив, я переношу их в папку рядом с дистрибутивом. Jar, но все равно не смогу найти их без изменения показанного исходного кода.следующий манифест.mf:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 17.1-b03 (Sun Microsystems Inc.)
Main-Class: com.ymene.Main
Class-Path: .

"."в Class-Path, похоже, указывает на корень .jar?Я никогда раньше такого не видел ни в одном файле манифеста.Поэтому мне интересно, если это правильный подход для достижения моего желания вообще не изменять мой java-исходный код, независимо от того, будет ли ресурс создаваться внутри или снаружи фляги, пока путь будет одинаковым.

Может кто-нибудь сказать мне, если "."в файле manifest.fm будут какие-нибудь нежелательные для меня побочные эффекты?И если это не так, то можно ли сгенерировать эту запись в Manifest.mf Class-Path (я имею в виду ".") С помощью Ant?Или есть другое решение для достижения этой цели?

Заранее благодарен за любую помощь по этой теме, ymene

1 Ответ

4 голосов
/ 04 февраля 2011

Одна точка означает «этот каталог».

...