Как импортировать пользовательский класс в интеллигентную консоль JShell
Я использую новую интеллигентную консоль Jshell (представлена здесь https://blog.jetbrains.com/idea/2017/09/java-9-and-intellij-idea/)
Я создал простой файл класса Test2.java
public class Test2 {
public static String test(){
return "Hello";
}
}
Консоль JShell может найти метод в подсказках
когда я пытаюсь запустить это на IntelliJ консоли jshell (Инструменты> Консоль Jshell)
Test2.test();
Я получаю следующую ошибку
"C:\Program Files\Java\jdk-9.0.1\bin\java" --add-modules java.xml.bind -classpath "C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.1\lib\jshell-frontend.jar;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.1\lib\jshell-protocol.jar" com.intellij.execution.jshell.frontend.Main
ERROR: cannot find symbol
symbol: variable Test2
location: class
Rejected Test2.test()
Что мне нужно настроить, чтобы JShell распознал мой пользовательский класс?
Я настроил его на использование пути к классам моего проекта.
Редактировать:
Я также попытался переместить коды в пакет и импортировать его в Jshell, как это было предложено пользователем @NullPointer.
Та же ошибка сохраняется, и это также дает мне ошибку "ОШИБКА: пакет angelapps.java не существует".
1 ответ
Допустим, у вас есть следующая структура проекта:
и следующий код:
Убедитесь, что в настройках проекта установлены библиотеки: File -> Project Structure -> Libraries
Убедитесь, что вы используете свое выходное местоположение здесь (место, где генерируются ваши файлы классов)! Это может варьироваться в зависимости от системы сборки (цель / классы или выход / производство и т. Д.)
Это должно дать вам результат, который вы ищете: