2015-07-19 66 views
1

我試圖回到OSX 10.9.5上的Java開發中,並且遇到了一個非常基本的問題,即在命令行上運行一個簡單的程序。OSX/Eclipse/JDK /無法從bash運行HelloWorld

我已經安裝了最新的JDK:

$ java -version 
java version "1.8.0_45" 
Java(TM) SE Runtime Environment (build 1.8.0_45-b14) 
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)** 

我已經安裝了Eclipse版本:月神服務版本2(4.4.2)

我在Eclipse中創建一個簡單的Java程序,我將其配置爲使用我安裝的JRE版本1.8.0_45。

我可以從這個項目在IDE中運行一個簡單的HelloWorld程序:

package repotools.repotool; 

public class RepoToolApp 
{ 
    public static void main(String[] args) 
    { 
     System.out.println("Hello World!"); 
    } 
} 

它顯示了Eclipse控制檯內的預期產出。

我不能從我的bash shell運行。當我嘗試運行它,我得到的常見錯誤:

$ ls 
RepoTool.class  RepoToolApp.class 
$ java RepoToolApp 
Error: Could not find or load main class RepoToolApp 
$ java -cp ./ RepoToolApp 
Error: Could not find or load main class RepoToolApp 
$ export CLASSPATH=. 
$ java RepoToolApp 
Error: Could not find or load main class RepoToolApp 
$ 

我沒有.bashrc文件,但似乎因爲他們在我的道路,我可以執行java和javac罰款。默認情況下沒有設置CLASSPATH,但我的理解是不應該是一個問題。

任何想法可能會失蹤?

非常感謝!

+0

'CD ../ ..',直到上面'repotools/repotool'的目錄,然後運行'java的repotools.repotool.RepoToolApp' 。 – RealSkeptic

回答

3

您執行的目錄java應該是包含包含該類的包的根目錄。在這種情況下:

$ cd ../.. 
$ java repotools.repotool.RepoToolApp 

http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/java.html

By default, the first argument without an option is the name of the class to be called. A fully qualified class name should be used.

+0

非常感謝,它的工作原理! –