如何在 intellij JShell 控制台中导入自定义 class
How to import a custom class in intellij JShell console
我正在使用新的 intellij Jshell 控制台(这里介绍 https://blog.jetbrains.com/idea/2017/09/java-9-and-intellij-idea/)
我创建了一个简单的 class 文件 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 识别我的自定义 class?
我已将其设置为使用我项目的 class 路径。
代码。
Jshell 控制台和下面的错误。
编辑:
我还尝试按照用户@NullPointer 的建议将代码移动到一个包中并将其导入到 Jshell 中。
同样的错误仍然存在,它也给我 "ERROR: package angelapps.java does not exist" 错误。
假设您有以下项目结构:
和以下代码:
确保在项目设置中设置库:File -> Project Structure -> Libraries
确保在此处使用您的输出位置(生成 class 文件的位置)!它可能因构建系统而异(target/classes 或 out/production,等等)
它应该给你你正在寻找的结果:
我正在使用新的 intellij Jshell 控制台(这里介绍 https://blog.jetbrains.com/idea/2017/09/java-9-and-intellij-idea/)
我创建了一个简单的 class 文件 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 识别我的自定义 class?
我已将其设置为使用我项目的 class 路径。
代码。
Jshell 控制台和下面的错误。
编辑:
我还尝试按照用户@NullPointer 的建议将代码移动到一个包中并将其导入到 Jshell 中。
同样的错误仍然存在,它也给我 "ERROR: package angelapps.java does not exist" 错误。
假设您有以下项目结构:
和以下代码:
确保在项目设置中设置库:File -> Project Structure -> Libraries
确保在此处使用您的输出位置(生成 class 文件的位置)!它可能因构建系统而异(target/classes 或 out/production,等等)
它应该给你你正在寻找的结果: