java makefile jar包_java makefile学习实践(编译的javac命令写在makefile中,运行命令java写在shell脚本中)...
學習makefile教程,ubuntu中文網
1.寫一個簡單的java項目,不需要外部jar,用的簡單的
importjava.util.ArrayList;是可以從CLASSPATH環境變量中找到的,在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()+ "個元素");
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
執行的時候還得輸入java Hellocat,這個項目比較小無所謂,如果遇到大的項目,各種package,需要調整包目錄,尤其是需要引入外部jar的,java運行命令需要指出-cp位置
2.比較大的項目,需要引入外部jar(netty4.1.25)
代碼不方便展示,主要有兩個主類,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
運行腳本:
startserver:(pwd可以忽略,當時是提示用的)
#!/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
這樣運行時直接通過命令:
./startserver
./startclient
就方便了許多
總結
以上是生活随笔為你收集整理的java makefile jar包_java makefile学习实践(编译的javac命令写在makefile中,运行命令java写在shell脚本中)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java out of range_关于
- 下一篇: gprs 神奇宝典java,2016联通