2017-08-10 97 views
-3

我有兩個文件,app.java和test.java 它們都駐留在同一個包中,它們編譯得很好,使用「javac app.java test.java」 兩個類文件是然後創建。 然而,當我去用命令「Java應用程序」運行它們,因爲應用程序具有的主要方法,我碰到一個「錯誤:無法找到或加載主類的應用程序」從cmd運行java應用程序的問題

app.java:

package working_directory; 

public class app { 

public app() { 

} 

public static void main(String [] args) { 
    test testing = new test(); 
    System.out.println(testing.calculate(60)); 
} 
} 

這是test.java

package working_directory; 

public class test { 

public test() { 

} 

public int calculate(int x) { 
    return (int) x * x * x; 
} 
} 
+1

我們不能調試代碼,我們看不到。 – csmckelvey

+0

沒有可見的代碼。所有有問題的信息都給出 – laocak

+0

[當前目錄中的java類文件可能重複?](https://stackoverflow.com/questions/3706689/java-class-files-in-current-directory) –

回答

1

請務必選擇編譯和運行代碼的正確道路:

D:\ 
+--Folder(start cmd here) 
     +---working_directory 
          +----app.java 
          +----test.java 

如何編譯

D:\Folder\>javac working_directory\*.java 

如何運行

D:\Folder\>java working_directory.app 
+0

這是我的問題。我在working_directory中啓動了cmd。 「D:\ Folder \> java working_directory.app」工作。 – laocak

0

你在這一個文件夾換句話說聲明的包名。您的項目應該是這樣的,然後

C:\YourProject 
C:\YourProject\working_directory 
    C:\YourProject\working_directory\app.java 

你的項目開始於根級別所以它C:\YourProject那裏,你必須使用命令行,然後鍵入java working_directory.app

+0

目錄中的所有文件都是小寫,並匹配eachother – laocak

+0

@laocak編輯我的回答 –

1

要使用java命令,你必須完全指定您想要運行的課程的合格名稱。這意味着你也需要指定包名稱。

您應該運行這個命令:

java working_directory.app 

由於working_directory是軟件包的名稱。

+0

嘗試過,但同樣的錯誤。錯誤:無法找到或加載主類working_directory.app – laocak

+0

@laocak'working_directory'是您的軟件包的_actual_名稱嗎?如果不是,請使用包的_actual_名稱。 – Sweeper

+0

是的,working_directory是包的全名,它包含在兩個文件中。 – laocak

0

從命令行運行它時你必須提供一個類路徑,:

(適用於Windows)

java -classpath . app 
+0

java -classpath。應用程序 錯誤:無法找到或加載主類應用程序 – laocak

+0

@laocak,請嘗試在working_directory之外執行此命令,如 java -classpath。 working_directory.app –