Kompilacja i uruchomienie projektu

0

Witam!
Napisałem projekt w javie w NetBeansie. Jak wiadomo NetBeans'a można tak ustawić, aby tworzył wykonywalnego JAR'a. Niestety muszę zrobić kompilacje i uruchomienie w tradycyjny sposób tzn. z linii komend. W tym momencie zaczynają się schody :) Próbuję napisac plik ze skryptem (start.bat), który mi skompiluje i uruchomi projekt. Struktura projektu jest następująca:

Project\dist\lib\ - katalog z zewnętrznymi JAR'ami (jgraph.jar i jdom.jar)
Project\src\editor\ - katalog z kilkoma klasami (Window.java, save.java, load.java) -> window jest z main
Project\src\editor\dialogs - katalog z klasami okien dialogowych (settings.java, about.java, colors.java, files.java)

Bardzo proszę o wszelką pomoc!

0

Rzuć okiem tu:
Maven

Na początku jest skrypt. Wystarczy poszukać odpowiedników M$ dla konstrukcji z basha.

BTW. utwierdzam się w przekonaniu, że wykładowcy to kretyni.

0

Zakladam ze wszystko co jest pod src to sa pakiety. Zatem:
cd Project
mkdir bin
javac -cp dist/lib/* -d bin src/editor/*.java (jesli jakies klasy z editor odwoluja sie do klas w editor/dialog to te zostana rowniez skompilowane (zaklasam ze nie odwolujesz sie do nich za pomoca Class.forName tylko statycznie)

teraz w katalogu bin masz skompilowane pliki *.class w odpowiednich pakietach.

jar -cf project.jar -C bin .

powstal jar a w nim taka struktura:
META-INF
MANIFEST.MF (domyslny manifest)
editor
Window.class i inne
dialog
settings.class i inne

Uruchomienie:
java -cp dist/lib/;project.jar Window (zakladam ze Window.java ma w sobie metode main)

Jesli sciezki sie pozmieniaja (np do libow) to przyuruchomieniu musisz odpowiednio je zmienic.

@koziolek:
poczatkujacy pyta jak recznie zbudowac i uruchomic, Ty kazesz uruchomic mavena
inny pocztkujacy pyta jak odczytac cos z bazy, ty dajesz na tapete JPA
wyzywasz prowadzacych od debili
Ty jestes debilem.

0
np tak napisał(a)

mkdir bin
javac -cp dist/lib/* -d bin src/editor/*.java

niestety nawet jak wpiszę nazwy używanych bibliotek to za każdym razem mam errora. Błąd pokazuje w każdym miejscu, gdzie używam metod lub klas z zew. jarów.

0

Pokaz wiec co wpisywales, wklej tutaj.

0

Spróbuj:
javac -cp "src/editor:dist/lib/*" -d bin "src/editor/*.java"

Upewnij się, że w plikach jar pliki class nie siedzą w żadnych katalogach (jeżeli nie używasz pakietów innych niż domyślny).
Plik jar to zwykły plik zip.

0

a więc po kolei mój skrypt:

mkdir bin
javac -cp dist/lib/*.jar -d bin src/editor/*.java 

i mam np. taki błąd:

symbol : method setScale(int)
location : class editor.save 
jgraph.setScale(1.0);

jgraph to obiekt klasy JGraph, a setScale to jedna z jego metod

0

A dlaczego masz dist/lib/*.jar a nie tak jak napisalem?

0

W ogole to napisz jaki system, jaka wersja javy.

0

mkdir bin
javac -cp 'src;dist/lib/' -d bin src/editor/.java
jar -cf project.jar -C bin .
java -cp 'project.jar;dist/lib/*' editor.Window

0

czy napiszę * czy *.jar to nie widzę różnicy - błędy takie same. java to jdk1.6.0_10 system to MS Vista Home Premium

0

w moim ostatnim poscie dokladnie zreplikowalem twoja strukture i dziala, tez uzywam visty i jdk 6, musi dzialac, cos zle przepisujesz albo twoja struktura katalogow wcale nie wyglada tak jak opisujesz

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