2017-08-09 30 views
0

我已經在src下的包「first」下創建了eclipse中的類。 我會在日食中執行得很好。但是,當我試圖從命令提示符下運行,它會說錯誤:無法找到或加載主類CreatingThread

"Error: Could not find or load main class CreatingThread".

但是,當我相同的類複製出到其他文件夾,並刪除package first它會正常工作。
我已經設置環境變量如下:

path %JAVA_HOME%\lib;C:\Program Files\Java\jre1.8.0_144\bin 

classpath %JAVA_HOME%\lib\tools.jar;.; 

而這些類

package first; 

public class CreatingThread { 

    public static void main(String[] args) { 
     System.out.println(Thread.currentThread().getName()); 
     System.out.println(Thread.currentThread().getPriority()); 
     System.out.println(Thread.currentThread().getThreadGroup()); 
     for(int i=0;i<=25;i++) { 
      System.out.println(Thread.currentThread().getName()+" "+i); 
     } 

     MyThread myThread= new MyThread(); 
     myThread.setName("Child Thread"); 
     myThread.getThreadGroup(); 
     myThread.start(); 
     System.out.println("Done"); 
    } 
} 

二等

package first; 

public class MyThread extends Thread { 
    @Override 
    public void run() { 
     for(int i=0;i<=25;i++){ 
      System.out.println("child thread "+i); 
     } 
    } 
} 
+0

什麼是通往CreatingThread.class的路徑? – Ouney

+0

iin命令提示符我做了cd workspace \ corejava \ multithreadingrevision \ src \ first然後Javac * .java – spa

+0

您需要使用'java -cp執行。 first.CreatingThread' –

回答

-1

如果你的類Test.java例如是在src/test包比在類中的第一行將是那樣的package test;。您將能夠使用javac Test.java直接從test文件夾編譯它。但是應該使用文件夾外部的整個包路徑執行執行 - 您應該從src文件夾而不是test執行java Test

希望這會有所幫助。

+0

到達文件夾後java文件存在我執行javac * .java然後我打到java CreatingThread - 它失敗瞭然後我嘗試java first.CreatingThread - 它也失敗瞭然後java src.first.CreatingThread - 它也是失敗。但整個演出將運行良好,當我從類刪除包關鍵字,然後把這些類在任何文件夾和編譯,它將運行良好。 – spa

+0

從src文件夾運行「java first.CreateThread」,而不是「java src.first。 CreatingThread「 –

+0

Tnq @Mikita Berazouski – spa

相關問題