簡體   English   中英

Eclipse錯誤,“找不到或加載主類測試。主要”

[英]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文件,我復制下面.classpathMainProject2 ,這不不會破壞該項目的主文件。

<?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 ConfigurationsMain選項卡似乎正確。 它說Project: MainProjectMain 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.

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