2014-04-06 16 views
0

這已被問無數次,但我沒有得到它的解決方案。我的代碼:錯誤:無法找到或加載主類(與類路徑/環境變量有關)

import java.util.Scanner; 
import java.io.*; 

public class Reverse 
{ 
public static void main(String[] args) 
{ 
    File myFile = new File(args[0]); 
    try 
    { 
     Scanner input = new Scanner(myFile); 
     String message = ""; 
     while(input.hasNext()) 
     { 
      message = input.nextLine() + message; 
     } 

     System.out.println(message); 
     input.close(); 
    } 
    catch(FileNotFoundException e) 
    { 
     System.exit(1); 
    } 
} 
} 

詳情:JAVA逆向工程:

  • 正在通過Eclipse的Mac上使用javac Reverse.java那麼Java Reverse.java(編輯編碼命令行

  • 然)

- 這與classpaths有關,但我不知道我應該做什麼

我沒有做任何關於類路徑的問題,所以任何幫助表示讚賞。

編輯:我現在的問題是,java -classpath如何。逆向工作?我不太瞭解-classpath標籤和'。'標籤。

+0

[「錯誤:無法找到或加載主類My.class」](http://stackoverflow.com/questions/11473854/error-could-not-find-or-load-main-class -my-class) –

+0

我剛剛通過你的程序,我沒有得到你提到的任何錯誤。運行「java Reverse」而不是「Reverse.java」 –

+0

我嘗試過javac Reverse.java,然後java -classpath。反向和它的作品。還在做javac Reverse.java,然後java Reverse的作品。但我真的不知道-classpath後面是什麼以及它在做什麼 –

回答

1

正如Pradeep的評論所述,您需要運行java Reverse而不是java Reverse.java。否則,它將查找名爲Reverse.java的類,該類不存在。 您的課程名爲Reverse

爲響應editted問題,java -classpath .基本上告訴java使用當前的工作目錄.作爲classpath的一部分。 classpath是java尋找要加載和運行的類的路徑。

+0

@SotiriosDelimanolis,謝謝你的更正,我已經更新了答案。 – merlin2011

+0

你怎麼能用更簡單的術語來解釋?這是否意味着類路徑正在查看bin和src以及項目文件? –

+0

如果您從命令行運行'java -classpath .',它只會將當前目錄添加到您的類路徑中。請注意單詞* add *,而不是*替換爲*。根據你的環境設置,你的類路徑中可能還有其他東西,但沒有特別的理由說明,爲什麼'bin'或'src'應該或不應該在類路徑中,如果你沒有明確地添加它們的話。 – merlin2011

相關問題