问题标签 [java-scripting-engine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在 Java 中在执行期间注入代码?
我正在开发一个 java spring 应用程序,我需要提供在不更改标准代码的情况下添加新代码的能力。
我的挑战:
- 将“自定义”代码存储在数据库中
- 在执行时将代码注入现有的标准代码
- 隔离自定义代码,以便两个用户不会执行彼此的代码。
换句话说,我正在寻找的是在方法执行时,如果用户有此方法的自定义代码,请查看数据库,如果没有,则执行标准代码;如果是,则注入代码,执行修改后的方法,然后处理自定义代码。
我看过 AspectJ 和 Javassist。我有一个使用 AspectJ 的过程,但如果自定义代码在它自己的 jar 中并在构建/运行时添加,我只能让它工作。我没有花太多时间在 Javassist 上,但从文档来看,我似乎在同一条船上。
这是我想要做的一个非常简化的例子。
java - 通过 Java 的 ScriptEngine 使用 pandas 和其他库
我正在通过 Java 的脚本引擎运行 Python。基本的 hello world 运行良好,但是当我在 python 脚本中导入 pandas 时它失败了。
ImportError:没有名为 pandas 的模块
有没有办法为脚本引擎安装它?
我通过命令行在我的机器上安装了 pandas,但这不是这里使用的 python。
kotlin - 使用来自 IntelliJ 的绑定运行 Kotlin 脚本 (.kts) - 未解决的参考:绑定
我正在尝试从 Kotlin 程序运行.kts脚本(使用脚本引擎)。
Kotlin 脚本位于项目的资源文件夹中,通常它们支持自动完成、IDE 检查、自动完成等。
当我想使用绑定将外部变量传递给脚本时,问题就出现了。我正在做类似的事情:
这bindings
是一个Map<String, Any>
包含我想在我的脚本中访问的变量:bindings["variable"]
.
问题是 IntellIJ 在 .kts 脚本中无法识别bindings
,因此它显示“未解析的引用:绑定”。如果我从命令行运行脚本一切都很好,但在 IntelliJ 内部我有这个问题。
有没有办法克服这个问题?有没有人遇到过同样的问题?