Как я могу исправить ошибку "java.lang.NoClassDefFoundError", возникшую после перемещения моих java-файлов в пакетах? - PullRequest
0 голосов
/ 04 июня 2019

Хорошо, я изучаю Java и только что переместил все мои тестовые файлы в разные папки с заголовками пакетов.Тем не менее, компилятор сообщает об ошибке java.lang.NoClassDefFoundError.

Файл класса явно присутствует, и все же не может его найти?

Я использую VS Code, это какая-то помощь.Файлы работают в Intellij, но я пытаюсь познакомиться с VS Code, поскольку это хороший универсальный редактор.

Я просмотрел все, но симптомы того, что испытывали другие, отличаются отмой.

package loops;

public class EnhancedForLoop {
public static void main(String []args) {
    int [] numbers = {5, 10, 15, 20, 25};
    for(int x : numbers ) {
        System.out.println( x + "," );
    }

    System.out.println("\n");


    String [] names = {"Kettle", "Pot", "Cup", "Jug"};
    for(String name : names) {
        System.out.println(name + ",");
    }
}
}

Как я уже сказал, все должно работать нормально.Но после перемещения файлов это не так: (.

Полное сообщение об ошибке:

[Running] cd "c:\Users\nickr\Documents\VS Workspace\Project 1\src\loops\" && javac EnhancedForLoop.java && java EnhancedForLoop
Error: Could not find or load main class EnhancedForLoop
Caused by: java.lang.NoClassDefFoundError: loops/EnhancedForLoop (wrong name: EnhancedForLoop)

1 Ответ

0 голосов
/ 05 июня 2019

Может быть, вы можете использовать -verbose, чтобы увидеть детали.

cd "c:\Users\nickr\Documents\VS Workspace\Project 1\src\loops\" && javac EnhancedForLoop.java && java -verbose EnhancedForLoop

Я думаю, что Java не смог найти EnhancedForLoop в classpath, потому что вы не установили classpath.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...