一、带backage的:
编写一个类,它是按照包的层次编码的,如果此时想通过javac和java命令来编译运行,就需要如下来做:
在c:\net\test下建立一个HelloWorld.java的文件,放入C:\,内容如下:
package net.test; //注意:这个第一行就是对包进行说明,其中net后面的点其实是目录的意思。
public class HelloWorld
{
public static void main(String args[])
{
System.out.println("HelloWorld!");
}
}
1.编译
编译的指令是javac
编译方式:文件根目录 javac 文件名.java
比如:文件名字:HelloWorld.java
文件路径:c:\net\test\HelloWorld.java
文件包名:net.test
编译过程:
cmd 回车
cd c:\net\test 回车
javac HelloWorld.java 回车 将生成一个HelloWorld.class的文件
或者,可以通过javac –d . 文件名.java 来生成package目录(注:-d和点号的前后都有空格)。
2. 运行
运行时候需要注意了,不能文件的根目录,是到文件的包目录的上层目录——可以理解为工程目录下(即net的同级目录),然后运行,文件名前需要加上包名。
运行过程:
cmd 回车
C:\ 回车, 退回到根目录
java net.test.HelloWorld 回车
二、带jar的:
(1)带jar包的类的编译:
1.可以用命令javac -cp *\*.jar ClassName.java // *\*.jar代表你需要的jar的路径和名称,ClassName代表类名。推荐使用这种方式;有多个jar包时,之间有“;”隔开。示例:javac -cp E:\licenseAPI.jar -d . Tglr.java
2.可以把*\*.jar添加到环境变量里面如:CLASSPATH=.;C:\myJar\test.jar; //C:\myJar\test.jar是*\*.jar的一个具体例子。注意,并不是把C:\myJar添加到环境变量中,如果这样把jar所在的目录添加进去,你会发现编译器找不到所需的类。因为类的加载器不装载类路径下的jar文件中的类文件,而只是装载该目录下的未打包成jar的类,以及该目录下的子目录中未打包成jar的类。 这种方式可以使用,如果你愿意的话。
3.可以把jar文件放到%JAVA_HOME%\jre\lib\ext\目录下面,这样什么都不用配置,但是这却是一个最坏的做法。因为将来会出现更多的麻烦。
(2)、带jar包的类的运行:
1.使用命令:java -cp .;*.jarbackage路径.class名;示例:java
-cp .;licenseAPI.jarcn.org.test.Tglr