是否可以在没有 class 的情况下使用 sysout 和使用 Java 9 在 Eclipse IDE 中使用主要方法?
Is it possible to use sysout without class and main method in Eclipse IDE using Java 9?
由于 Java 9 引入了 JShell 的概念,它使我们能够在不创建 class 和方法的情况下编写代码,是否可以在中使用 Java 9 的此功能日食?
如果这不是要求 Eclipse 的功能,您可以想出一个非常基本的存根:
public static void main(String[] args) throws Exception {
jdk.jshell.tool.JavaShellToolBuilder.builder().run();
}
执行此操作时,您可以在 IDE.
中进一步将调试控制台用作 JShell
示例屏幕截图:
您可以在 Eclipse 中使用 TM Terminal 到 运行 JShell:
- 如有必要,安装 TM Terminal(仅包含在某些 Eclipse 软件包中)
- 在 Eclipse 中打开一个 'Terminal' 视图:Window > Show View > Other...: Terminal > Terminal
- 启动新的本地终端
- 运行 JShell,e。 G。在 Windows 上输入
"C:\Program Files\Java\jdk-9\bin\jshell" -v
然后输入 Enter
或者,您可以使用 Scrapbook Page,Eclipse Java IDE 的内置功能,它也适用于旧 Java 版本。您将完成代码,您可以使用项目的 Java 类:
如果您喜欢使用 JShell(从 Eclipse 或终端)来尝试代码,一个非常好的选择是使用 Maven JShell 插件和来自相应(虚拟)项目的 运行 mvn (在 Eclipse 中:右键单击项目并 运行 As -> Maven build)。
在那种情况下,JShell 知道项目依赖项中指定的所有库。
我在这里使用这个:http://www.finmath.net/finmath-experiments/montecarlo-blackscholes/
使用一些库(JavaFX、Apache commons、finmath 库)的小型 pom.xml 可能如下所示:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.finmath</groupId>
<artifactId>finmath-experiments</artifactId>
<version>0.1.1-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<defaultGoal>clean install jshell:run</defaultGoal>
<finalName>${project.artifactId}-${project.version}</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>11</release>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.github.johnpoth</groupId>
<artifactId>jshell-maven-plugin</artifactId>
<version>1.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencies>
<!-- Java FX -->
<!-- https://mvnrepository.com/artifact/org.openjfx/javafx-base -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-base</artifactId>
<version>11</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-swing</artifactId>
<version>11</version>
</dependency>
<!-- finmath-lib -->
<dependency>
<groupId>net.finmath</groupId>
<artifactId>finmath-lib</artifactId>
<version>5.0.2</version>
</dependency>
<dependency>
<groupId>net.finmath</groupId>
<artifactId>finmath-lib-plot-extensions</artifactId>
<version>0.3.9</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>3.6.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.10</version>
</dependency>
</dependencies>
</project>
注意:我个人更喜欢 运行在 macOS 的终端中进行此操作,因为 JShell 在那里支持“TAB 自动完成”,而在从 Eclipse 运行中进行时似乎缺少此功能。
如其他答案中所述,有多种方法可以做到这一点。但我想告诉你一个插件,它将提供比从 Eclipse 启动普通 JShell 更多的功能。
检查这个 Eclipse 插件 QuickShell
此插件将在 Eclipse 终端中启动 JShell。像这样:
您还可以 select 您现有的 java 源代码并将其 运行 作为 JShell 脚本。例如:
.jsh 和 .jpage 文件可以 运行 直接来自 Eclipse。
PS: 我是这个插件的作者。
由于 Java 9 引入了 JShell 的概念,它使我们能够在不创建 class 和方法的情况下编写代码,是否可以在中使用 Java 9 的此功能日食?
如果这不是要求 Eclipse 的功能,您可以想出一个非常基本的存根:
public static void main(String[] args) throws Exception {
jdk.jshell.tool.JavaShellToolBuilder.builder().run();
}
执行此操作时,您可以在 IDE.
中进一步将调试控制台用作 JShell示例屏幕截图:
您可以在 Eclipse 中使用 TM Terminal 到 运行 JShell:
- 如有必要,安装 TM Terminal(仅包含在某些 Eclipse 软件包中)
- 在 Eclipse 中打开一个 'Terminal' 视图:Window > Show View > Other...: Terminal > Terminal
- 启动新的本地终端
- 运行 JShell,e。 G。在 Windows 上输入
"C:\Program Files\Java\jdk-9\bin\jshell" -v
然后输入 Enter
或者,您可以使用 Scrapbook Page,Eclipse Java IDE 的内置功能,它也适用于旧 Java 版本。您将完成代码,您可以使用项目的 Java 类:
如果您喜欢使用 JShell(从 Eclipse 或终端)来尝试代码,一个非常好的选择是使用 Maven JShell 插件和来自相应(虚拟)项目的 运行 mvn (在 Eclipse 中:右键单击项目并 运行 As -> Maven build)。
在那种情况下,JShell 知道项目依赖项中指定的所有库。
我在这里使用这个:http://www.finmath.net/finmath-experiments/montecarlo-blackscholes/
使用一些库(JavaFX、Apache commons、finmath 库)的小型 pom.xml 可能如下所示:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.finmath</groupId>
<artifactId>finmath-experiments</artifactId>
<version>0.1.1-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<defaultGoal>clean install jshell:run</defaultGoal>
<finalName>${project.artifactId}-${project.version}</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>11</release>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>com.github.johnpoth</groupId>
<artifactId>jshell-maven-plugin</artifactId>
<version>1.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencies>
<!-- Java FX -->
<!-- https://mvnrepository.com/artifact/org.openjfx/javafx-base -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-base</artifactId>
<version>11</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-swing</artifactId>
<version>11</version>
</dependency>
<!-- finmath-lib -->
<dependency>
<groupId>net.finmath</groupId>
<artifactId>finmath-lib</artifactId>
<version>5.0.2</version>
</dependency>
<dependency>
<groupId>net.finmath</groupId>
<artifactId>finmath-lib-plot-extensions</artifactId>
<version>0.3.9</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>3.6.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.10</version>
</dependency>
</dependencies>
</project>
注意:我个人更喜欢 运行在 macOS 的终端中进行此操作,因为 JShell 在那里支持“TAB 自动完成”,而在从 Eclipse 运行中进行时似乎缺少此功能。
如其他答案中所述,有多种方法可以做到这一点。但我想告诉你一个插件,它将提供比从 Eclipse 启动普通 JShell 更多的功能。
检查这个 Eclipse 插件 QuickShell
此插件将在 Eclipse 终端中启动 JShell。像这样:
您还可以 select 您现有的 java 源代码并将其 运行 作为 JShell 脚本。例如:
.jsh 和 .jpage 文件可以 运行 直接来自 Eclipse。
PS: 我是这个插件的作者。