簡體   English   中英

基本的Java程序無法使用命令行進行編譯

[英]Basic java program not compiling using command line

package test 
    public class test{
        public static void main (String args[]) throws Exception{

            System.out.println("testing");
       }
     }

我用以下命令編譯

javac test.java  -Xlint -g

我用以下命令執行

java test 

這給了我錯誤

錯誤:找不到或加載主類測試

現在我強烈懷疑java發生了什么奇怪的事情,因為eclipse也會使我的工作崩潰。

您的類路徑沒有當前目錄 (點)。 添加它或將您的test.class放入現有路徑,就可以了。

最簡單的方法是像這樣運行java:

java -classpath . test

在此處閱讀有關classpath的更多信息。

我已經復制了您的代碼,並使用與您指定的命令相同的命令執行了該代碼,並且其輸出顯示為“ testing”。

某個類是否在軟件包中“測試”了? 如果是這樣,則可以通過進入程序包目錄然后運行compile命令來成功編譯它,但是從該目錄運行它時會出錯。 您必須上一級目錄並運行該類。

例如:如果test.java在名為abc的軟件包中,則可以轉到'c:\\ example \\ abc \\',其中c:\\ example是假定的目錄,然后對其進行編譯即可進行編譯。 但是要運行它,您必須向上一級目錄運行。 因此,您必須轉到c:\\ example \\,然后像這樣運行“ java abc.test”

您是否在包下定義類,如果是,請在執行時使用完全限定的路徑,即package / className?

如果該類是單獨程序包的一部分,那么您只需要如上所述將該程序包添加到類路徑中即可。 另外,只要您沒有為要在命令中存儲的類文件指定文件路徑,它就可以正常運行。 主要思想是將java文件編譯到同一目錄中的類文件中,並且在對該文件執行java命令后,它將搜索具有您已指定給控制台執行的名稱的類文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM