网站开发收获,深圳市建设工程有限公司,公司网站建立费用,网页平面设计要学什么平时建立Java工程都是借助eclipse或intellij这些ide编辑器来构建#xff0c;对于java工程的实际编译执行原理#xff0c;从未了解过。作为一个曾经的C程序员#xff0c;对于源码刨根问底的那份执着从未丢过。于是今天就写了这样的一个例子进行测试。1.首先建立个跟目录MyJav…平时建立Java工程都是借助eclipse或intellij这些ide编辑器来构建对于java工程的实际编译执行原理从未了解过。作为一个曾经的C程序员对于源码刨根问底的那份执着从未丢过。于是今天就写了这样的一个例子进行测试。1.首先建立个跟目录MyJavaTest。2.建立第一个MyJavaTest\src\com\common\sayHellojava代码如下package com.common;public class sayHello{public void say(){System.out.println(hello boy);}}3.建立第二个java文件MyJavaTest\src\com\major\HelloWorld.java代码如下package com.major;import com.common.*;public class HelloWorld{public static void main(String[] args){sayHello sayhello new sayHello();sayhello.say();//System.out.println(hello boy);}}4.在MyJavaTest跟目录下执行javac -d classes src\com\common\sayHello.java命令编译sayHello.java文件生成对应的class文件并存放在classes\src\com\common\目录这里的-d命令不用解释也知道是什么意思了吧classes是自定目的路径。5.接着执行javac -cp classes -d classes src\com\major\HelloWorld.java编译HelloWorld.java文件生成对应的class文件并存放在classes\src\com\major\目录。然后进入classes目录下执行Javacom.major.HelloWorld。终于成功了。 编译HelloWorld.java需要引入sayHello这个类同时还要 -cp classes表明classpath依赖路径为classes目录告诉java编辑器到该目录下寻找sayHello类。不使用该命令则需在环境变量里面添加classpath但是这样不同的工程构建就需要改动一次其值岂不是很麻烦。最后执行的时候如何执行javaHelloWorld会报错因为HelloWorld属于com.major包下这是我的一时疏忽不过从报错的顺序里我们可以看出java编辑器载入执行类是如何查找该类的。至此纠结我多日的这一困惑终于得到解决了。