Felhasználói eszközök

Eszközök a webhelyen


oktatas:programozas:java:java_make

< Java

Java és a make parancs

  • Szerző: Sallai András
  • Copyright © Sallai András, 2014, 2015, 2020
  • Licenc: GNU Free Documentation License 1.3

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)

Linkek

oktatas/programozas/java/java_make.txt · Utolsó módosítás: 2020/07/05 10:16 szerkesztette: admin