回答
不能你打電話給你的主要方法裏面的其他程序的main()方法? 實施例:
ClassB {
public static void main(String[] args) {
System.out.println("ClassB main() Called");
}
}
ClassA {
public static void main(String[] args) {
System.out.println("ClassA main() Called");
ClassB.main(args);
}
}
的輸出將是
ClassA main() Called
ClassB main() Called
當我不得不這樣做我創建我跑了perl腳本。在腳本中,我使用系統調用來執行java程序(一個接一個地執行)。我也能夠改變程序之間的目錄。
使用類似Apache Ant的(http://ant.apache.org)或Maven(http://maven.apache.org)
由於我是一個新鮮的Java,請給我一些簡要的解釋.. – LGAP 2010-08-03 19:04:56
您也可以編程方式使用java編譯器API。 http://download-llnw.oracle.com/javase/6/docs/api/javax/tools/package-summary.html
必需的工具罐被隱藏在JDK目錄中。
+1這是一個介紹http://www.javabeat.net/articles/73-the-java-60-compiler-api-1.html – Karussell 2010-08-03 19:18:44
爲什麼不使用NetBeans或Eclipse?但是,一旦熟悉這些工具,請嘗試使用'javac'編譯源代碼並從命令行執行具有'java'的類
請參閱http://java.sun.com/developer/onlineTraining/tools/netbeans_part1/ 或http://download.oracle.com/javase/tutorial/getStarted/cupojava/netbeans.html
你可以使用ant
舉例來說,如果你有在目錄src
src/Hello.java
src/Hola.java
兩個Java文件中使用此構建文件編譯和運行它們:
<project default="compile">
<!-- compile everything inside the "src" directory -->
<target name="compile">
<javac srcdir="src" destdir="classes" />
</target>
<!-- run the program named "Hello" followed by the program "Hola" -->
<target name="run" depends="compile">
<java classname="Hello" classpath="classes" />
<java classname="Hello" classpath="classes" />
</target>
</project>
將內容保存在build.xml
中,然後鍵入ant
或ant run
$ ant run
Buildfile: build.xml
compile:
[javac] Compiling 2 source files to /Users/oscarryz/Oscar/code/languages/Java/useAnt/classes
run:
[java] Hello
[java] Hello
BUILD SUCCESSFUL
Total time: 0 seconds
要在系統中安裝的螞蟻installing ant或this
所以基本上你需要的是一個構建系統,類似於通用編程廠名和Makefile組合。構建系統通常是一個解析文件的程序,該文件描述構建系統生成可執行文件需要執行的操作。但像往常一樣,可能會發生更多事情(您可以執行編譯的文件,生成文檔等)。
因此,在OscarRyz上面的例子中,ant項目文件定義了文件所在的源目錄,並且在編譯之後運行該目錄中的文件。 javac標記和java標記。
關於螞蟻的好處是,它也是用java編寫的,所以你真的不需要做其他任何事情。螞蟻的文檔非常好,帶有例子,值得一讀。
我認爲這不值得,特別是如果你是初學者開始使用奇怪的運行時構造或直接用javac修補(除非你有大量的時間可用,我們通常不會)。
- 1. 編譯和執行使用Java代碼運行#EXEC()
- 2. 用於編譯java代碼的Web應用程序
- 3. Java代碼和JIT編譯
- 4. 編譯並運行來自Java應用程序的源代碼
- 5. java程序代碼的編碼是否影響編譯?
- 6. 如何編譯和運行Java程序?
- 7. 編譯並執行一個jar程序包的java程序
- 8. 用於SCJP準備的JVM規範和Java編譯器代碼?
- 9. Firebase插件和併發執行程序Java編譯錯誤
- 10. Java代碼不會編譯
- 11. 如何編譯java代碼?
- 12. 錯誤編譯Java代碼
- 13. 通過編譯java代碼
- 14. 從反編譯java代碼
- 15. 如何編譯Java或C++應用程序生成的代碼
- 16. 在我的Java EE應用程序中編譯Groovy代碼
- 17. 如何編寫將編譯,加載和使用網絡代碼的Java程序
- 18. 使用Java執行Java 5代碼6
- 19. 使用Java程序編譯Java文件
- 20. Java代碼編譯但未執行:「找不到主類」
- 21. 用於編譯和運行java代碼的不可缺少的標誌
- 22. 構建Java編譯/執行Web應用程序
- 23. 編譯Java程序的命令行
- 24. 從Java運行cygwin編譯的程序
- 25. 如何在Java中編譯和運行用戶代碼?
- 26. 在運行時生成,編譯和使用Java代碼?
- 27. 試圖以編程方式編譯和執行C#代碼
- 28. 庫存程序的Java代碼第3部分不會編譯
- 29. 用MinGW編譯java代碼出錯gcj
- 30. 我的代碼編譯,執行但程序崩潰到底
對於此任務,最好使用腳本語言(bash或perl或...)。 – KLee1 2010-08-03 19:02:08
我希望這隻能在Java中完成... – LGAP 2010-08-03 19:02:52
對不起,但你要重申你是一個絕對的Java新手,你還想編寫一個Java程序來編譯和運行其他Java程序? 從「Hello Worlds」開始學習語言開始,然後學習如何執行命令行工具並將其應用於編譯和運行自己的程序的方式,不是更好嗎? – Mirvnillith 2010-08-03 19:29:04