问题标签 [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.
java - Logback 条件(“isDefined”)附加程序创建不起作用
我的 logback.xml 中有以下内容(我已将其简化为相关部分):
如果我在定义 REQUEST_LOG_DIR 的情况下运行我的应用程序,它会按预期工作:我记录到此记录器的消息最终在 ${REQUEST_LOG_DIR}/requests.log 中。
但是,如果我在未定义 REQUEST_LOG_DIR 的情况下运行我的应用程序,它最终会创建一个REQUEST_LOG_DIR_IS_UNDEFINED目录,其中包含一个空的 requests.log 文件。
文件保持为空的事实表明,当 REQUEST_LOG_DIR 未定义时,第二条条件逻辑正在按预期工作,不会将附加程序添加到记录器。
但是,我不明白为什么要创建目录。如果 REQUEST_LOG_DIR 未定义(显然是,给定目录的名称),那么第一个条件应该是阻止 FileAppender 被实例化。
java - Logback - 自定义日志文件为空,如何配置记录器?
我在不同的包中有三个带有记录器的类:
在每个类中,我以相同的方式创建一个新的记录器,注意每个记录器都以相同的“some_logger”名称结尾:
我的 logback.xml 中有一个名为 debuglogger 的附加程序
我应该如何配置我的 xml 以记录具有 DEBUG 级别的每一行,因为我不能在<logger name="*some_logger" ..>
标签中使用正则表达式并且我的根记录器仅在 INFO 级别。
java - Janino 编译器 - 将外部 Jar 添加到类路径
我想使用 Janino 将用户脚本添加到我的 Java 应用程序中,并且我希望用户能够在他们的脚本中拥有自己的 jar 依赖项。这在贾尼诺可能吗?我在网上找不到这方面的任何信息。
logback - logback 配置中的条件 appender ref
我正在为我的 logback xml 使用以下配置:
在定义 Loki appender 之后,我想在已经存在的记录器中有条件地使用它:
我现在遇到的问题是,当 if 条件为假时,EXISTING-APPENDER 不会在文件系统上输出任何文件(没有定义 LOKI_SERVICE_URL)
也许我的 logback 配置是错误的,它应该看起来像这样:
有谁知道这个问题的原因是什么?谢谢!
java - Apache Calcite:ReflectiveSchema 似乎不支持 Linq4j“where”子句的比较表达式中的 ParameterExpression
参考Calcite 文档的“背景”章节,我定义了以下“表格”:
和以下“数据库”:
我使用 ReflectiveSchema 与这个“数据库”建立了连接:
由于我更喜欢 Linq 查询组合而不是 SQL 语句连接,因此在参考LinqFrontJdbcBackTest.java之后,我自适应地进行了以下查询:
最后我得到了:
但是,如果我替换Expressions.field(e, "empid")
为Expressions.constant(5)
,则完全没有问题!查询成功返回:
ReflectiveSchema 与“where”子句中的 Expressions.field 相处一定有问题。因为在“where”子句之外构造表达式没有任何问题。
Expressions.field(e, "empid")
必须有正确的字段,因为当表达式稍微修改为 时Expressions.field(e, "empi")
,会出现异常:
有人知道问题出在哪里吗?让“where”子句对基于 ReflectiveSchema 的“数据库”上的包含 ParameterExpression 的 Linq 比较查询有意义所需的任何配置?
java - janino java 编译器:lambda 不起作用
我想对我的 java 代码生成器进行单元测试,因此我已将一个 janino 库导入到我的build.gradle.kts
文件中:
我的测试代码在 kotlin (jvm) 中,但它说:
重现我的问题的源代码:
java - java错误“SNO:'+='重新转换失败”的含义?
我在通过 Jenkins 显示的 Pentaho 数据集成(PDI,又名 Kettle)日志中遇到了一个神秘错误:
org.codehaus.janino.CompileException:SNO:“+=”重新转换失败
唯一包含“+=”的代码是这样的......
我试过了:
- 谷歌搜索/ecosia 的错误信息
- 搜索堆栈溢出的错误消息:没有
- 搜索堆栈溢出的各个概念:每个似乎都很好 afaik
- 查找 Long.valueOf、+= 和 HashMap 的 .put、.getKey、.getValue 的兼容类型和返回类型等详细信息
- 在 w3schools 在线 Java 测试器中测试了该部分代码
- 换成
public boolean processRow
他们平时的public static void main
- 这段代码在 w3schools 中没有错误,但在我替换它之前一直是空白的,以至于我只是在测试组件。
- 而 Janine 似乎不喜欢替代方案,在 for 循环中使用冒号进行迭代——预期的分号。