Что означает одна точка (".") В Distribution Manifest.mf?

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

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

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

Jdbc.properties находится в исходной папке eclipse с именем 'resources' и пакетом с именем 'config'. Теперь, когда я строю дистрибутив, я передаю их на аутсорсинг в папку рядом с дистрибутивом. Jar, но я все равно не смогу найти их без изменения показанного исходного кода.

Единственное решение женерелла, которое работало до сих пор (без абсолютных путей), было следующим manifest.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 ответ

Решение

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

Другие вопросы по тегам