- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个默认的 Maven Java 项目并添加了以下依赖项:
<dependency>
<groupId>org.python</groupId>
<artifactId>jython</artifactId>
<version>2.7.0</version>
</dependency>
然后我创建了一个包src/main/java/mypkg
并添加了此类:
package mypkg;
import javax.script.*;
class JythonMinimalTest {
public static void main(String[] args) throws Exception {
String engineName = "python";
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName(engineName);
if (engine == null) {
System.err.println("ERROR: `" + engineName + "` not available.");
System.err.println("Available engines: ");
for (ScriptEngineFactory factory: manager.getEngineFactories()) {
System.err.println(factory);
System.err.println("names:");
for (String name: factory.getNames()) {
System.err.println(" " + name);
}
}
System.exit(999);
}
engine.eval("print('hello, world')");
}
}
当我使用 exec:java
运行它时,
mvn exec:java -Dexec.mainClass=mypkg.JythonMinimalTest
我得到以下神秘的输出:
ERROR: `python` not available.
Available engines:
org.python.jsr223.PyScriptEngineFactory@2b0e6c89
names:
python
jython
jdk.nashorn.api.scripting.NashornScriptEngineFactory@46618cb8
names:
nashorn
Nashorn
js
JS
JavaScript
javascript
ECMAScript
ecmascript
管理器返回 null
,但随后在下一行中列出可用脚本引擎中的 python
/jython
。
Nashorn 以完全相同的方式工作得很好。我对 Jython 做错了什么?
最佳答案
这是一种解决方法:
将其添加到顶部:
import org.python.core.Options;
在调用getEngineByName
之前,设置
Options.importSite = false;
然后引擎就创建成功了。
从 this conversation 得到解决方案.
<小时/>另一个效果很好的解决方案(由 mzjn 在评论中提出)是用 jython-standalone
替换 jython
工件。
关于java - Jython 按 `getEngineFactories` 列出,但 `getEngineByName("jython")` is ` null`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52825426/
以下代码返回一个空数组。 import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.Sc
我遇到了在 Java 8 (Open JDK) 上运行的 Wildfly 8.2.1 的奇怪行为。我特别提到 Java 8,因为我没有在 Java 7 上看到这个问题。 在启动我的 Wildfly 模
我创建了一个默认的 Maven Java 项目并添加了以下依赖项: org.python jython 2.7.0 然后我创建了一个包src/main/java/mypkg并添加了此类
我是一名优秀的程序员,十分优秀!