Python----多继承和MRO继承机制
385
2022-08-19
cmd编译运行java程序的方法
目录0.写入程序1.编译2.运行3.将class输出到指定package4.CLASSPATH5.常见错误6.引入jar包
0.写入程序
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello, World!");
}
}
1.编译
javac HelloWorld.java -d .
javac: java语言的编译器,使用命令行编译Java源文件,输出字节码文件.class.sourcefiles: java源文件的相对路径,也可以使用绝对路径。options: 这里使用的是-d, 即directory简写,表示输出字节码的位置,".“表示当前目录,”…“表示上级目录,”…\bin"表示在当前目录的上级目录bin,以此类推。
2.运行
java [options] classname [args]
java: 执行程序命令。执行顺序是启动JRE->加载class->调用class的main()方法,main方法必须是public static void main(String[] args)的样子。classname: 要执行的class文件的名称,要加包名,中间以’.'隔开,比如java.lang.Stringoptions: 一些可选参数[可参考Java文档]
成功打印出字符串: Hello, World!
java HelloWorld
3.将class输出到指定package
E:\myJava\javaSrc>javac HelloWorld.java -d ..
注意存放路径是"…"即上级目录,它表示"hello"这个package的生成路径,class文件会生成在hello包中,如果hello不存在,程序将自动创建之,在桌面上的结果,实际就是一个普通目录而已:
运行
java运行程序的命令是:
E:\myJava\javaSrc>java ../hello.HelloWorld
错误:找不到或无法加载主类
结果却是提示找不到class,如果我们现在将CMD打开到hello包所在同级目录下,即"myJava"目录,运行:
E:\myJava>java hello.HelloWorldHello,World!
程序成功输出了,也就是java解释器定位到了class文件。其实,java的解释器只能找到当前路径下和CLASSPATH变量存储路径中的包,所以我必须先把CMD的路径切换到hello的同级目录下,然后再运行java hello.HelloWorld。
那么如果每次都这样执行,岂不是很麻烦?
4.CLASSPATH
“The class path is the path that the Java Runtime Environment (JRE) searches for classes and other resource files.”----官方文档, 即CLASSPATH就是JRE寻找class文件和其它资源文件的地方,因此,为了方便运行,就有必要把我们生成的包想办法放到CLASSPATH变量中,WIn7环境下的操作方法 是:
右击“计算机”->属性->高级系统设置->环境变量->系统变量, 双击“CLASSPATH”, 在“变量值”最后输入";路径",其中";"是多个CLASSPATH的分隔符号,如图所示:
目前已经不需要设置CLASSPATH。
因为jdk 在该目录下有两个子目录,分别是.\bin和.\jre\bin, 前者含有用于Java程序编译以及执行的程序javac和java,后者有执行程序java。对于用Eclipse,自带编译程序,因此只需要在Path中加入%JAVA_HOME%\jre\bin,Eclipse就能运行起来,因为jdk既有编译程序也能提供执行环境。(在dos窗口下执行命令时首先会在当前目录下寻找命令相应程序,如果找不到就会去path包含目录的路径中去寻找)
5.常见错误
案例二
D:\myeclipse\Workspaces\example>javac src/com/example/controller/*.java
报错src\com\example\controller\controller.java:3:软件包 com.example.model不存在
我们切换目录,已上文绝对路径、相对路径的知识,正确给出Java文件的路径。这时会报出错误,软件包com.xxx不存在。因为在controller.java文件中有一个import com.example.model.model,根据系统默认的classpath会在当前路径下找,即D:\myeclipse\Workspaces\example,很明显这个路径下没有com文件。
解决方法,我们告诉编译器哪个目录下会有就行了,所以需要加入选项-cp xxxx 或-classpath xxxx
D:\myeclipse\Workspaces\example>javac -cp src src/com/example/controller/*.java
加上参数-cp src,告诉编译器可以去src中找,就不会有问题了。
找不到主类
6.引入jar包
特别注意的是在linux下用冒号:进行分隔,而在Windows用分号进行分割。
// 正确
D:\myeclipse\Workspaces\example\src>javac -cp .;lib/gson-2.3.1.jar com/example/view/view.java
后面加上;
或者前面加上.;
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~