odpalanie jara z bata z classpath

0

jak odpalić jara z bata z classpath?

moj jar to moj.jar
w folderze libs znajduje sie lib.jar

w bat piszę tak:
java -classpath "libs/lib.jar" -jar moj.jar

i nie działa. Co robię nie tak?

0
  1. bez cudzysłowów.
  2. W artykule o Maven podałem przykład na budowanie classpatha w bashu
0

Niestety usunięce cudzysłowie nie pomaga... Niby proste ale jakoś nie działa ;-( dostaje oczywiście NoClassDefFoundError

0

Już mam rozwiązanie :-) okazuje sie że gdy używamy jara (-jar) to uznane jest że wszystko znajduje sie w tym jar i -classpath i -cp są ignorowane. Żeby jednak korzystać z dodatkowych jarów trzeba w Manifest dodać:

Class-Path: sciezka/plik.jar

jary oddzielone spacją. :-)

0

Masz rację!

Zapomniałem o tym! Ważne jest to, że długość pojedynczej linii w manifeście jest ograniczona. Zresztą sam miałem kiedyś podobny problem:
http://koziolekweb.blogspot.com/2007/10/egg-framework-i-manifest-padziernikowy.html

Tyle tylko, że rozwiązanie zrzuciłem na mavena, który miał przygotować odpowiedni plik manifestu.

0

a można więcej niż jedną linię zacząć od Class-Path: ?

0

Oczywiście, że nie :)
Jeżeli masz coś dłuższego należy to przenieść dok kolejnej linii, która to linia zaczyna się od spacji.

0

Używam JBuilder2005 i tam jest możliwość dodania manifestu z zewnątrz podczas tworzenia jara i w tym manifascie mozna w jednej linii pisac a do jara trafia juz podzielony :-) Właśnie sprawdziłem wielojarowość :-)

0

Zrób mały test. Zmień nazwę katalogu "libs" na "lib".

Kiedyś tak zrobiłem i po uruchomieniu jara bez ustawiania classpatha program widział biblioteki.

Zdaje się, że Java próbuje standardowo szukać bibliotek w podkatalogu lib.

1 użytkowników online, w tym zalogowanych: 0, gości: 1