Windows/Linux javac/java编译运行引入所需的jar包
> Windows
假设要引用的jar放在D:/test目录下,名字为t1.jar, java源文件放在D:/test/src目录下,名字为t2.java。
编译:
javac -cp d:/test/t1.jar d:/test/src/t2.java
运行:
java -cp d:/test/t1.jar;d:/test/src t2
注意,分号后面没有空格,否则报错。
需要注意的是,如果java源文件是有package的,比如package是com.example, 源文件为com.example.t2.java.
比如文件的存储目录为: D:/test/src/com/example/t2.java, 然后比如t1.jar放在D:/test/lib/ 下面, 那么javac编译的时候要在D:/test/目录下进行。
可以用-d选项指定.class的生成位置。
javac -cp d:/test/lib/t1.jar;classes;. -d classes src/com/example/t2.java
2> Linux
假设jar包放在/home/bill目录下,名字为t1.jar,java源文件放在/home/bill/src目录下,名字为t2.java
编译:
javac -cp /home/bill/t1.jar /home/bill/src/t2.java
如果是引用多个jar,那么用冒号分开。
运行:
java -cp /home/bill/t1.jar:/home/bill/src t2
注意,这里是冒号分隔符,并且后面没有空格。
注意最后调用java命定的时候一定要接:后面跟着要执行的文件,如果没有这个:就会一直提示找不到main class之类的错误。。。。
如我的package包名: com.thinkvenus.linux 类名:TailTest
编译:javac ./com/thinkvenus/linux/TailTest.java
执行:java com.thinkvenus.linux.TailTest