gpt4 book ai didi

java - 基于Java的应用程序中Java代码的解释 - 如何在java程序中运行java代码

转载 作者:行者123 更新时间:2023-11-30 04:12:00 25 4
gpt4 key购买 nike

我想使用 Java TM 脚本引擎,但不想使用 JavaScript。我想使用 ScriptEngine for Java 语言。我找到了所有解释的文章。但我无法运行示例。

Maven 依赖 java-engine。

Java TM Scripting Engines - supports many different kinds of engines

当我尝试运行程序时,我收到:引擎错误(未知引擎)!

为什么 ScriptEngineManager 无法 getEngineByName("java")?

还有谁知道如何在 Java 程序中创建 Java 解释器的另一种方法,请分享您的知识

package script;

import javax.script.*;

public class Main2 {
public static void main(String[] args) throws ScriptException {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("java");
if (engine == null) {
System.err.println("Engine error (unknown engine)!");
} else {
engine.put(ScriptEngine.FILENAME, "TestApp.java");
engine.eval("public class TestApp { public static void main(String[] a) {System.out.println(\"hello!\");} }");
}
}
}

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>alefemet</groupId>
<artifactId>script</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>script</name>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-jexl</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.mozilla</groupId>
<artifactId>rhino</artifactId>
<version>1.7R4</version>
</dependency>
<dependency>
<groupId>com.sun.script</groupId>
<artifactId>java-engine</artifactId>
<version>20080611</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>asf</id>
<name>ASF</name>
<url>http://svn.apache.org/repos/asf/servicemix/m2-repo</url>
</repository>
</repositories>
</project>

C:\Users\RooT>java -版本

java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
Java HotSpot(TM) Client VM (build 23.25-b01, mixed mode, sharing)

更新后:C:\Users\RooT>java -version

java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) Client VM (build 24.0-b56, mixed mode, sharing)

Java Scripting Programmer's Guide - javax.script

Article for java-engine

最佳答案

我遇到的唯一可以解释 Java 的是 BeanShell,但它已经很多年没有发布了。最重要的是,似乎对此功能的需求并不大。

关于java - 基于Java的应用程序中Java代码的解释 - 如何在java程序中运行java代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19379084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com