[英]Eclipse error, “Could not find or load main class test.Main”
像這樣的問題很多,但是我已經在本網站上嘗試了所有答案的所有內容,但到目前為止沒有任何效果。
我正在使用Eclipse
並嘗試使用Ctrl+F11
在文件夾test
啟動以下Main.java
:
package test;
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
我收到以下錯誤: Error: Could not find or load main class test.Main
。
這是我的.classpath
文件。 注意:這是不是與這個文件中的問題 (或者至少是不完全是因為這個文件),因為我已經創建了一個名為新項目MainProject2
用相同的Main
文件,我復制下面.classpath
到MainProject2
,這不不會破壞該項目的主文件。
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding="src/" kind="src" path=""/>
<classpathentry kind="src" path="src"/>
<classpathentry combineaccessrules="false" kind="src" path="/ProjA"/>
<classpathentry combineaccessrules="false" kind="src" path="/ProjB"/>
<classpathentry combineaccessrules="false" kind="src" path="/ProjC"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="lib" path="/home/myusername/workspace/ProjE/lib/guava-16.0.jar"/>
<classpathentry kind="lib" path="/home/myusername/workspace/ProjD/lib/commons-collections4-4.0.jar"/>
<classpathentry kind="lib" path="/home/myusername/workspace/ProjD/lib/commons-configuration-1.9.jar"/>
<classpathentry kind="lib" path="/home/myusername/workspace/ProjD/lib/commons-lang-2.6.jar"/>
<classpathentry kind="lib" path="/home/myusername/workspace/ProjD/lib/commons-logging-1.1.1.jar"/>
<classpathentry kind="lib" path="/home/myusername/workspace/ProjD/lib/mysql-connector-java-5.1.17-bin.jar"/>
<classpathentry kind="lib" path="/home/myusername/workspace/ProjD/lib/opencsv-2.3.jar"/>
<classpathentry combineaccessrules="false" exported="true" kind="src" path="/ProjF"/>
<classpathentry combineaccessrules="false" kind="src" path="/ProjD"/>
<classpathentry kind="output" path="bin"/>
</classpath>
在我的Run Configurations -> ClassPath -> User Entries
MainProject (default classpath)
Run Configurations -> ClassPath -> User Entries
,它將顯示MainProject (default classpath)
(nb:項目名稱為MainProject
所以應該正確)。 我正在使用JavaSE-1.7
,我將其用於每個項目。 Run Configurations
“ Main
選項卡似乎正確。 它說Project: MainProject
, Main Class: test.Main
。 此處未選中所有三個復選框。
該項目是一個Java
項目,有J
在Package Explorer上面。 我已經從SVN
檢出了它(我是上載它並運行用於工作的主要方法的人)。
我曾嘗試清理和刷新項目,重新啟動Eclipse,刪除並重新創建Main.java
,但沒有任何效果。 我也嘗試過手動執行Run As -> Run As Java Application
,該方式不起作用。 我也嘗試過使用與Main.java
不同的名稱(例如RandomTest.java
)使用同一類。 我也嘗試過從工作空間中刪除項目並重新導入它。 此外,由於我可以使用相同的Main
(作為項目中唯一的.java
文件)創建一個新項目,因此這對我的Eclipse
來說不是根本問題,並且可以毫無問題地進行編譯。
我還嘗試了CMD的以下功能:
user@place:~$ javac /home/user/workspace/MainProject/src/test/Main.java
user@place:~$ java /home/user/workspace/MainProject/src/test/Main
Exception in thread "main" java.lang.NoClassDefFoundError: /home/user/workspace/MainProject/src/test/Main
Caused by: java.lang.ClassNotFoundException: .home.user.workspace.MainProject.src.test.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: /home/user/workspace/MainProject/src/test/Main. Program will exit.
轉到Main
類所在的目錄,然后如下編譯:
使用-d
選項進行編譯,以使這些類最終位於適當的目錄層次結構中:
javac -d . Main.java
然后使用以下命令運行該類:
java test.Main
頭等生應該是這樣的
<classpathentry kind="src" path="src"/>
更改此設置后,您可能必須清理該項目並重新啟動Eclipse。
如果可行,則bin文件夾中應該有一個test / Main.class文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.