2013-07-16 204 views
0

我工作在Mac上,並使用Xcode中保存我的java文件。我有一個在netbeans中運行沒有錯誤的文件。該文件具有與子類相同的文件夾中的另一個文件。當我在終端中運行該文件時,我懷疑由於多個找不到符號錯誤而導致子類文件未運行。任何想法爲什麼?我使用cd命令調用該文件,直到我到達帶有這些文件的文件夾。然後我使用(javac -classpath「filename.java」)來運行該文件。使用終端運行java文件

+1

'的javac -classpath 「filename.java」'不 「運行」 的Java文件。它調用編譯器。 – Thilo

+0

檢查您的CLASSPATH。 http://javarevisited.blogspot.com/2011/01/how-classpath-work-in-java.html可能會有所幫助。 – 2013-07-16 03:34:15

回答

2

從我的Mac,這可能是對你有所幫助一個簡單的例子。

名單在我的目錄中的文件:

$ ls *.java 
Child.java Driver.java Parent.java 

顯示所有三個文件的內容:

$ cat *.java 
// file Child.java 
public class Child extends Parent { 
    public Child() { 
     System.out.println(" I'm the Child..."); 
    } 
} 

// file Driver.java 
public class Driver { 
    public static void main(String[] args) { 
     Parent parent = new Parent(); 
     parent.hello(); 
     Child child = new Child(); 
    } 
} 

// file Parent.java 
public class Parent { 
    public Parent() { 
    } 
    public void hello() { 
     System.out.println("Hello from the parent."); 
    } 
} 

編譯所有3個Java源文件成字節碼:

$ javac *.java 

調用Java VM執行主入口點:

$ java Driver 
Hello from the parent. 
    I'm the Child... 
+0

ls命令是我至少需要證明兩個文件都被加載的。我需要查看終端的命令列表。在編譯這個文件時,我得到一個提示,該文件使用未經檢查或不安全的操作,這是我不明白的,因爲Netbeans沒有問題。要求用-Xlint重新編譯。進一步嘗試調用Java VM,但返回無法找到或加載主類驅動程序。 – winkyloCC

+0

你試過用Xlint編譯看看它說了什麼嗎?它應該看起來像「$ javac -Xlint * .java」。 – CXJ

+0

這就是Xlint回來了。我現在正在看它來製作頭像或故事。 TotalComp.java:49:警告:[rawtypes]找到原始類型:ArrayList ArrayList al1 = new ArrayList(); ^ 通用類丟失類型參數ArrayList 其中E是類型變量: E擴展在類ArrayList中聲明的對象 – winkyloCC