java makefile jar包_java makefile学习实践(编译的javac命令写在makefile中,运行命令java写在shell脚本中)...
學(xué)習(xí)makefile教程,ubuntu中文網(wǎng)
1.寫(xiě)一個(gè)簡(jiǎn)單的java項(xiàng)目,不需要外部jar,用的簡(jiǎn)單的
importjava.util.ArrayList;是可以從CLASSPATH環(huán)境變量中找到的,在javac階段不需要特殊添加-cp
hellocat
Hellocat.java
importjava.util.ArrayList;importjava.util.Iterator;public classHellocat{public static voidmain(String[] args){
ArrayList list1= newArrayList();
list1.add("one");
list1.add("two");
System.out.println("" + list1.size()+ "個(gè)元素");
System.out.println("");
Cat mike= newCat();
mike.run();
System.out.println(mike.name+ "is running over\n");
}
}
Cat.java
public classCat{
Cat()
{this.name = "wali";this.age = 2;
}public voidrun()
{
System.out.println("run run run\n");
}publicString name;public intage;
}
makefile
result : Hellocat.java Cat.java
javac Hellocat.java
clean :
rm-f Hellocat.class Cat.class
執(zhí)行的時(shí)候還得輸入java Hellocat,這個(gè)項(xiàng)目比較小無(wú)所謂,如果遇到大的項(xiàng)目,各種package,需要調(diào)整包目錄,尤其是需要引入外部jar的,java運(yùn)行命令需要指出-cp位置
2.比較大的項(xiàng)目,需要引入外部jar(netty4.1.25)
代碼不方便展示,主要有兩個(gè)主類,HelloWorldClient和HelloWorldServer
makefile:
SRCFILES := $(wildcard *.java)
CFLAGS := -cp /home/kourui/netty4125/netty-4.1.25.Final/jar/all-in-one/netty-all-4.1.25.Final.jar
result : $(SRCFILES)
javac $(CFLAGS) HelloWorldServer.java ServerChannelInitializer.java ServerHandler.java
javac $(CFLAGS) HelloWorldClient.java ClientChannelInitializer.java ClientHandler.java
clean :
rm-f *.class
運(yùn)行腳本:
startserver:(pwd可以忽略,當(dāng)時(shí)是提示用的)
#!/bin/bash
#this script avaiable for starting server
pwd
java -cp ..:/home/kourui/netty4125/netty-4.1.25.Final/jar/all-in-one/netty-all-4.1.25.Final.jar pkg.HelloWorldServer
startclient:
#!/bin/bash
#thisscript starts client
pwd
java-classpath /home/kourui/jmaketest/hellocs:/home/kourui/netty4125/netty-4.1.25.Final/jar/all-in-one/netty-all-4.1.25.Final.jar pkg.HelloWorldClient
這樣運(yùn)行時(shí)直接通過(guò)命令:
./startserver
./startclient
就方便了許多
總結(jié)
以上是生活随笔為你收集整理的java makefile jar包_java makefile学习实践(编译的javac命令写在makefile中,运行命令java写在shell脚本中)...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java out of range_关于
- 下一篇: gprs 神奇宝典java,2016联通