Mój kod jest wdrażany jako plik JAR. Plik JAR zawiera katalog lib
zawierający pewną liczbę plików JAR innych firm, których wymaga mój kod. Dodałem je do classpath
, używając Ant, poprzez MANIFEST.MF
.Dodawanie bieżącego katalogu do ścieżki klasy pliku JAR
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: 20.5-b03 (Sun Microsystems Inc.)
Main-Class: com.package.Class
Class-Path: ../lib/c3p0-0.9.1.2.jar ../lib/dbunit-2.4.8.jar ../lib/gua
va-10.0.1.jar ../lib/hsqldb.jar ../lib/javax.jms.jar ../lib/log4j-1.2
.16.jar ../lib/mockito-all-1.9.0.jar ../lib/ojdbc14.jar ../lib/slf4j-
api-1.6.4.jar ../lib/slf4j-log4j12-1.6.4.jar ../lib/xmlunit-1.3.jar
Istnieje również plik queries.properties
który znajduje się w katalogu głównym JAR.
Istnieją dwa dodatkowe pliki właściwości, które są wymagane. Chciałbym, aby znajdowały się one w tym samym katalogu, co plik JAR i aby kod mógł je znaleźć. Uważam, że kod, aby móc zlokalizować te pliki właściwości, musi znajdować się w classpath
. Dlatego muszę dodać katalog pliku JAR do classpath
.
Po pierwsze, czy to jest właściwe podejście, czy powinienem użyć alternatywnego sposobu lokalizowania plików właściwości?
Jeśli jest to poprawne, w jaki sposób mogę użyć Ant do dodania bieżącego katalogu JAR do ścieżki klasy w MANIFEST.MF
? Dodałem pliki JAR w katalogu lib
do classpath
przy użyciu zadania Ant. manifestclasspath
.
* „Chciałbym je do przebywania w tym samym katalogu co plik JAR” * Jeśli jestem użytkownika programu, wolałbym je za 1) W podkatalogu 'user.home' (gdzie są łatwo dostępne dla mojego skryptu zapasowego, w przeciwieństwie do oprogramowania, które nie ma kopii zapasowej). Lub .. 2) W wybranej przeze mnie lokalizacji (przy użyciu selektora plików) podczas instalacji aplikacji. –
@AndrewThompson Dzięki za Twój wkład. Aplikacja zostanie wykonana jako zaplanowane zadanie i nie wymaga interwencji użytkownika. Chodzi raczej o przechowywanie plików właściwości i pliku JAR w celu ułatwienia wdrożenia. – mip