命令行编译java项目_命令行编译运行java工程(转)
平時建立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編輯器載入執行類是如何查找該類的。
至此,糾結我多日的這一困惑,終于得到解決了。
總結
以上是生活随笔為你收集整理的命令行编译java项目_命令行编译运行java工程(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ip访问次数统计 nginx_PHP实现
- 下一篇: java 实体类 代码重复_java –