我在文本文件中有一组java代码。我可以从文本文件中逐行读取并执行javascript的eval函数中的命令吗?提前致谢
答案 0 :(得分:8)
尝试使用BeanShell。从介绍页面:
什么是BeanShell?
BeanShell是一个小型,免费,可嵌入的 带有对象的Java源解释器 脚本语言功能,写的 在Java中。 BeanShell动态 执行标准的Java语法和 使用通用脚本扩展它 便利,如松散的类型, 命令和方法闭包 Perl和JavaScript中的那些。
您可以以交互方式使用BeanShell 用于Java实验和调试 以及扩展您的应用程序 以新的方式。脚本Java借钱 本身就是各种各样的 应用包括快速 原型设计,用户脚本扩展, 规则引擎,配置,测试, 动态部署,嵌入式系统, 甚至是Java教育。
BeanShell很小,可以嵌入,所以 你可以从Java调用BeanShell 应用程序来执行Java代码 动态地在运行时或提供 应用程序中的可扩展性。 或者,您可以使用独立 用于操作Java的BeanShell脚本 应用;使用Java 动态的对象和API。以来 BeanShell是用Java编写并运行的 在与您的应用程序相同的VM中, 你可以自由地传递参考 将“实时”对象转换为脚本并返回 他们作为结果。
简而言之,BeanShell是动态的 解释Java,加上脚本 语言和灵活的环境 滚成一个干净的包裹。
答案 1 :(得分:3)
没有。 Java是一种编译语言,因此除非先调用编译器,否则这种行为是不可能的。 (并且不能保证带有Java的机器具有Java编译器。)
答案 2 :(得分:3)
也许开始寻找Java VM支持的脚本语言会更容易。
首先要记住Groovy,它有类似Java的语法。
答案 3 :(得分:1)
可能。它可以使用compiler API非常简单地完成。但是你最好编写一个控制程序的XML配置,而不是允许在文本文件中执行任意代码。
答案 4 :(得分:0)
您可以使用Janino编译生成的* .java文件。编译文件后,可以加载* .class文件并通过反射调用方法。