Tartalomjegyzék
Java és a make parancs
- Szerző: Sallai András
- Copyright © Sallai András, 2014, 2015, 2020
- Licenc: GNU Free Documentation License 1.3
- Web: http://szit.hu
Bevezetés
A make parancs C, C++ alapú projektekhez lett kitalálva. A Java nyelvhez készítettek egy ant nevű eszközt, ezt szokás vele használni. Én azonban jobban szeretem a make parancsot, így most ennek használatát mutatom be Java nyelvvel.
A make parancs megnézi, hogy aktuális könyvtárban van-e egy Makefile nevű állomány. Ha van, akkor elkezd benne célokat keresni. Minden célhoz tartoznak utasítások, amelyeket végrehajt.
A make parancsot persze be kell szerezni. Windowsra mingw32-make.exe nevű fájl kell keresnünk. Ez kis program minden függőség nélkül egyedül futtatható, csak be kell másolni egy olyan könyvtárba, amely útvonalban van, az operációs rendszerben.
Tetszés szerint átnevezhető a mingw32-make.exe fájl make.exe-re.
Példa 001
Legyen a példa kedvéért a fordító a következő helyen:
- p:\bin\Java\jdk1.6.0_18\bin\javac
Egy nagyon leegyszerűsített Makefile így nézhet ki:
- Makefile
all: Program01.java p:\bin\Java\jdk1.6.0_18\bin\javac Program01.java
Példa 002
- Makefile
JC = javac JAVA = java SOURCES = \ Program01.java \ MainFrame.java \ MasterPanel.java \ SecondPanel.java all: $(SOURCES) $(JC) $(SOURCES) $(JAVA) Program01
Példa 003
- Makefile
SOURCES=CarRace.java \ view/Car.java \ view/MainWindow.java \ view/Track.java \ view/ButtonPanel.java \ view/DisplayPanel.java \ controller/Controller.java all: javac $(SOURCES) CLASSES=CarRace.class \ view/*.class \ controller/*.class JARFILE=CarRace.jar MANIFEST=manifest.mf jar: jar cvfm $(JARFILE) $(MANIFEST) $(CLASSES) run: java -jar $(JARFILE)
Példa 004
- Makefile
JFLAGS= -g JC=javac JVM=java SRCS=CrossWord.java CrossWordFrame.java tablemaker/TableMakerPanel.java PROG=CrossWord CLASSPATH=../class all: $(JC) -Xlint:all -d $(CLASSPATH) $(SRCS) run: $(SRCS) $(JVM) -cp $(CLASSPATH) $(PROG) RM=rm -f clean: $(RM) $(CLASSPATH)/*.class
- alkonyvtar/Makefile
all: make -C ../ run: make -C ../ run
Tesztpélda
Linux alatt
test: javac -cp .:/usr/share/java/junit4.jar Program01Test.java java -cp .:/usr/share/java/junit4.jar org.junit.runner.JUnitCore Program01Test
Függelék
mmake
Java Makefile készítő.
Az mmake beszerzése: Linuxon:
apt install mmake
Windowson:
A jar fájl elkészítéséhez, be kell állítani:
- JAR flags: cvfm
- JAR File name (e.g. foobar.jar) []: prog.jar manifest.mf
A manifest.mf fájl nekünk kell elkészíteni. Például:
Manifest-Version: 1.0 Built-By: Nagy Janos Build-Jdk: 1.8.0_181 Created-By: mcedit Main-Class: hu.zold.Program01
SWScite beállítás
Build
command.build.*.java=$(SciteDefaultHome)\bin\mingw32-make.exe command.go.*.java=cmd /C c:\Program Files\Java\jdk1.6.0\bin\java -cp . $(FileName) & pause
Egyéb
command.compile.*.java=c:\Program Files\Java\jdk1.6.0\bin\javac $(FileNameExt) command.go.subsystem.*.java=2
Saját változó felvétele:
javapath=p:\bin\Java\jdk1.6.0_18\bin\
Később így hivatkozok rá:
$(javapath)
A SWScite néhány saját változója:
$(SciteDefaultHome) $(FileName) $(FileNameExt)