2

我正在考虑编写一个 Java 应用程序,用户可以在其中编写一些 Java 模块并将它们添加到该应用程序的库中。这些模块将是一些使用来自主应用程序的数据的计算。可能有点像 Office 中的 VBA。
如果有人能给我一些从哪里开始的提示,我将不胜感激,因为我在网上找不到有用的东西。
提前致谢!

4

3 回答 3

1

如果您愿意,可以尝试从头开始开发模块框架。但是,如果您正在开发任何严肃的东西,您应该考虑使用 OSGi。

于 2012-11-06T20:06:59.003 回答
1

理论上是可以的。您可以允许用户编写 java 类,然后您可以使用 java 编译器编译该类,生成.class文件。您可以使用自定义类加载器(可能URLClassLoader或其子类等)加载它们。

但这是非常严肃的应用。实际上它是一种IDE。所以,你们真的希望这个检查一下创建基于 Eclipse 的应用程序的可能性,即实现几个 Eclipse 插件。

其他方法可能是允许用户使用一种流行的脚本语言编写代码。例如,groovy 具有类似 java 的语法,但无需编译即可运行,并且不需要创建类等。Javascript 也是一种选择。Javascript 解释器是 JDK 的一部分,所以你甚至不需要外部依赖。

于 2012-11-06T20:13:39.543 回答
0

你可能会更好地结合某种形式的 jvm 脚本语言。像 groovy、jruby 或 jython 之类的东西。这些不需要实际编译,可以作为源存储在您的系统中。另外,它们也可以很好地编写代码。Groovy 具有成为 java 超集的优势。(在大多数情况下)您可以降级为 java 代码,并在 groovy 解释器中运行它。

于 2012-11-06T22:50:56.507 回答