2012-03-26 18 views
8

Mam aplikację java opracowany w netbeans. Chcę utworzyć plik wsadowy, który ponownie skompiluje projekt i zapakuje wynikowe pliki jar wraz z dokumentacją do pliku zip i wygeneruje instalator.Jak przekompilować projekt netbeans z linii poleceń?

Pakowanie i generowanie instalatora nie stanowi problemu, ale nie wiem, jak zautomatyzować kompilację z linii poleceń/pliku wsadowego - za każdym razem, gdy zmieniam coś w kodzie źródłowym, muszę ręcznie kliknąć "Wyczyść i skompiluj" wewnątrz netbeans i potem uruchomić mój plik wsadowy.

Co muszę dodać do pliku wsadowego, aby zrobić to samo, co "Wyczyść i buduj" z poziomu wewnętrznych obiektów sieci?

Odpowiedz

11

znalazłem się sam, co robić:

  1. Upewnij mrówka jest na swojej drodze (np dodałem C: \ Program \ NetBeans 6.9.1 \ Java \ ant \ bin do mojego środowiska Path)
  2. Upewnij się, że JAVA_HOME jest ustawiony prawidłowo
  3. wykonać czysty "Mrówka" i "ant jar" w katalogu projektu twoi NetBeans

program wsadowy używam:

SET JAVA_HOME=C:\Programme\Java\jdk1.6.0_12 

call ant deps-clean 
call ant clean 
call ant jar 

pause 

cp -r doc dist 
cp -r scripts dist 
cp -r examples dist 
cp -r crypt dist 
cp -r db dist 
cp -r license dist 

rm dist/README.TXT 
cp README.TXT dist 

echo package creation %date:~-4,4%_%date:~-7,2%_%date:~0,2% >> dist/README.TXT 

cd win_service 

RCEDIT.exe /C wizard.exe 
RCEDIT.exe /I wizard.exe my_app.ico 
RCEDIT.exe /N wizard.exe pre_wizard.ini 

RCEDIT.exe /C my_app_service.exe 
RCEDIT.exe /I my_app_service.exe my_app.ico 
RCEDIT.exe /N my_app_service.exe pre_my_app_service.ini 

cp my_app_service.ini ../dist 
cp my_app_service.exe ../dist 
cp wizard.exe ../dist 
cp wizard.ini ../dist 
cp service*.bat ../dist 
cp *.nsi ../dist 
cp *.nsh ../dist 
cp my_app.log ../dist 


cd .. 
cd dist 

mkdir windows 
cp *.jar windows 
cp -r lib windows 
cp -r crypt windows 
cp -r db windows 
cp examples\empty_settings.ini windows\settings_example.ini 
mv *.exe windows 
mv *.ini windows 
mv *.bat windows 
mv *.nsi windows 
mv *.nsh windows 
mv my_app.log windows 


cd windows 
my_app.nsi 
mv my_appInstaller.exe ../my_appInstaller_gpl.exe 
rm lib\jdbc-mysql.jar 
my_app.nsi 
mv my_appInstaller.exe ../my_appInstaller.exe 
cd .. 

rm -rf my_app 
mkdir my_app 
mv *.jar my_app 
mv lib my_app 
mv crypt my_app 
mv db my_app 

mv examples\empty_settings.ini my_app\settings.ini 

ren my_app 9880 
mkdir my_app 
mv 9880 my_app 


7z a -r -tzip my_app_gpl.zip doc license examples scripts my_app README.txt my_appInstaller_gpl.exe 

rm my_app\9880\lib\jdbc-mysql.jar 
7z a -r -tzip my_app.zip doc license examples scripts my_app README.txt my_appInstaller.exe 


cd .. 
pause 
+0

Próbuję zrobić dokładnie to, co chciałeś, ale nie jestem w stanie zbudować, wyjście Mrówki sprawia, że ​​'BUILD FAILED':' C: \ Projects \ ProjectName \ trunk \ nbproject \ build-impl.xml: 915: The następujący błąd wystąpił podczas wykonywania tej linii: '' C: \ Projects \ ProjectName \ trunk \ nbproject \ build-impl.xml: 268: Błąd podczas uruchamiania kompilatora javac.exe, ale działa on na netbeans, czy kiedykolwiek dostałeś ten błąd? – HericDenis

+0

Przykro mi, nie widziałem tego rodzaju błędu. Ale załączam mój pełny skrypt wsadowy, który odbudowuje projekt netbeans i tworzy instalator i pakiet usług dla mojej aplikacji. – ducky

+0

OK, bez problemu zrezygnowałem z próbowania, aby działało, to nie jest wielka sprawa samemu zbudować projekt. Dzięki. – HericDenis

1

"Błąd podczas uruchamiania kompilatora javac.exe" Wygląda na to, że JDK nie był w PATH.