@kungermu

Main не видит другие классы. Что добавить?

Столкнулся с проблемой при написании программы.

Создал класс Main, задал нужные мне действия, создал класс Jsoner, так-же все сделал, vscode не ругается.
618e5168d3765542917052.png

Запустил команду: java -cp "$(printf %s: lib/*.jar)" ./src/неважно/Main.java
И получил ответ от джавы:
./src/неважно/Main.java:19: error: cannot find symbol
import неважно.Jsoner;
^
symbol: class Jsoner
location: package неважно
./src/неважно/Main.java:27: error: cannot find symbol
Jsoner jsoner = new Jsoner();
^
symbol: class Jsoner
location: class Main
./src/неважно/Main.java:27: error: cannot find symbol
Jsoner jsoner = new Jsoner();
^
symbol: class Jsoner
location: class Main
3 errors
error: compilation failed

Содержание Main:
import неважно.Jsoner;
public class Main {
public static void main(String[] string) {
Jsoner jsoner = new Jsoner();
jsoner.sendMsg();
}
}

Содержание Jsoner:
public class Jsoner {
public static void sendMsg() {
System.out.println("ok");
}
}

урезал код лишний в Main намеренно, я думаю вам неособо интересен остальной код, он не должен вызывать эту ошибку.
  • Вопрос задан
  • 790 просмотров
Пригласить эксперта
Ответы на вопрос 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Добрый день.
Ну во-первых, зачем вызывать статичный метод sendMsg() через экземпляр класса Jsoner? Вы можете обратиться к методу напрямую через Jsoner.sendMsg()
Во-вторых,
location: package неважно
Важно. Так как название пакета должно соответствовать naming convention. Рекомендую открыть этот проект в Intellij IDEA и скорее всего она будет ругаться. Вполне возможно, что в названии директории есть недопустимые символы (например, тире или дефис).
В-третьих,
java -cp "$(printf %s: lib/*.jar)" ./src/неважно/Main.java

Вот, ответ на ваш вопрос - https://stackoverflow.com/questions/219585/includi...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы