问题标签 [janino]

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.

0 投票
1 回答
1340 浏览

java - 使用janino将java源从字符串编译为字节数组中的字节码

如何使用 janino 编译器将简单的 java 源代码从字符串编译为字节数组中的字节码?

到目前为止,我一直在尝试理解此处的 janino 文档(在 SimpleCompiler 下),以及如何将单个 Java 源代码编译为字节码格式的单个类,但我认为我做得不对。

到目前为止,我的幼稚方法如下所示:

输出NO IS表明我试图错误地使用它。

那么我应该怎么做呢?

编辑:我一直在不停地前进,我似乎无法得到我想要的东西。UnitCompiler这是使用 janino类的尝试:

一个简单LOLClassLoader的“记录一切,什么都不做”的类扩展IClassLoader.

这最终以这样的空指针结束:

此时欢迎任何帮助或提示。

谢谢!

0 投票
1 回答
209 浏览

janino - Janino:脚本不会编译(cook)如果!使用运算符

我在按照 Janino 脚本编译(cook)时遇到问题。

我正在传递 [sfv1, a_p, sfv2,a_ac, a_d~~bfv3] 的参数类型,其中 a_d~~bfv3 是布尔类型,其余是字符串。
我在尝试编写脚本时看到以下错误。

我尝试将脚本更改为以下,结果相同:

我想知道 Janino 是否不支持布尔类型参数。谁能帮我这个?

0 投票
1 回答
933 浏览

java - Janino 编译了几个类

我已经尝试过 Janino,并且可以通过将 String 传递给 janino 编译器来执行动态类。

现在,我应该动态创建几个类,然后将它们导入另一个动态类。

一个例子:

  • 从 String 编译类 A
  • 从 String 编译类 B
  • 创建类 C,放入“import mypackage.A; import mypackage.B; etc...”
  • 编译类 C

我怎样才能达到这个结果?

我的第一个动态课程是:

然后我必须从以下动态生成的类中调用该类:

编译我使用的第一个类:

而对于第二个类,它包含主要方法:

我得到的错误是:
org.codehaus.commons.compiler.CompileException: Line 8, Column 7: A class 'com.Flink.POJO.RainPOJO' could not be found

Janino 找不到类导入声明。

谢谢你,贾科莫

0 投票
1 回答
1335 浏览

java - 用 Janino 编译 java(损坏的 Classpath)

我正在尝试用 Janino 编译非常简单的类:

这里一切正常,但org.codehaus.janino.ClassBodyEvaluator编译器对 Java 5 有限制。所以我在Janino 网站上读到,你可以更改编译器来克服这个限制

JANINO 可以配置为使用 javax.tools.JavaCompiler,即 JAVAC,它消除了与 Java 5 相关的限制。

所以我改变ClassBodyEvaluator了这个org.codehaus.commons.compiler.jdk.ClassBodyEvaluator;也可以在 Janino 网站上找到的,并且 AFAIK 没有 Java 5 限制。

但不幸的是,它会引发以下堆栈跟踪:

这可能与编译器类路径有关,但我没有看到 API 中有任何方法可以以某种方式对其进行操作。

我将不胜感激任何建议

0 投票
1 回答
776 浏览

java - 在 logback 中使用条件处理时找不到 FileExistsPropertyDefiner 类

我们有一个 spring-boot 项目并配置 logback-spring.xml 如下

由于在不同的模式下(例如,开发或生产)会有不同的属性,我们希望像上面的配置那样对属性资源进行条件处理。如果 application.properties 文件存在,那么它将被加载,而 config/application.properties 将始终被加载。

但是,我们在启动时收到以下错误:

我们使用的 logback 是 spring-boot-starter-logging 1.3.1-RELEASE 的 1.1.3,我们使用的用于条件处理的 janino lib 是 2.7.8。我们没有声明 janino 的版本,但它转到了 v2.7.8,我不知道为什么。

有什么我们想念的吗?任何帮助表示赞赏。

0 投票
3 回答
1542 浏览

java - 添加 Maven 依赖项导致 java.lang.ClassNotFoundException

在我引入以下 Maven 依赖项之前,我有一个运行良好的应用程序。

引入以下依赖项后,jar 已正确构建,没有编译器异常,但在运行应用程序时,它失败并出现以下异常:

例外一:

例外 2:

例外 3:

请让我知道需要做什么。我也尝试添加一些,但没有奏效。请建议。

0 投票
2 回答
4277 浏览

conditional-statements - janino logback 配置中的“else if”

我正在尝试在 logback 配置中使用 janino 条件语句,它与“if”和“else”一起工作正常。但是我想问是否可以在里面写“else if”?

我的情况 -

0 投票
1 回答
967 浏览

logback - 在比较 XML 中的 Logback 和 Janino 字符串时缺少单引号

使用 Logback 的条件处理来比较 Logback XML 配置文件中的两个字符串,如下...

...导致以下异常。

0 投票
1 回答
80 浏览

java - 测试一列是否为数字脚本

我正在尝试测试列是否为数字,以通过 scriptella 从 oracle 数据库复制到 postgresql 数据库,这就是我为 scriptella 所做的。,请提供任何帮助,我只是新手

0 投票
1 回答
180 浏览

java - 根据是否存在外键使用 scriptella 复制数据

我正在尝试将数据从一个表复制到另一个表,但在此之前,我需要检查所选代码文章是否已经作为另一个表中的键存在。因此,如果存在,我将复制它们,如果存在,我不会复制它们不存在然后我记录它们在这里我做了什么帮助测试选定的代码文章是否存在。

这是我所做的

任何帮助将不胜感激,非常感谢