java 数据处理
java组件用来做一些复杂的数据处理。
集成
<dependency>
<groupId>com.manatee.manatee-lowcode</groupId>
<artifactId>lowcode-loader</artifactId>
<version>${lowcode.version}</version>
</dependency>
可配置项
manatee:
java:
ignoreErrors: false
processScanTimeInterval: 3
manatee.java.ignoreError
项目启动中预加载 java 组件编译失败时,是否停止启动,默认为 false (编译失败则停止启动),配置为 true 时则不停止启动。
manatee.java.processScanTimeInterval
java 组件定时更新编译,默认3分钟,最小3分钟。
取值
get(String key) //返回Object
getObject(String key, Class<T> clazz) //返回指定类型
getList(String key)
getMap(String key)
getString(String key)
getInteger(String key)
getBoolean(String key)
getLong(String key)
getDouble(String key)
getFile() //获取文件流
getFileName() //获取文件名称
放值
put(String key,Object value) //放到上下文里
putAndReturn(String key,Object value) //放到上下文里且在返回中显示
调试
Q&A
在idea调试没问题,但是编译打包后使用会报错:找不到 com.sun.tools.javac.util.Context
- 检查项目中
spring-boot-maven-plugin
的配置,是否includeSystemScope
为true - 检查编译打包机器的
$JAVA_HOME
是否可以正常输出 - 检查编译打包机器的
$JAVA_HOME
下的lib
目录下是否有tools.jar
idea打包报错
[ERROR] xxxx:Could not find artifact javatools:javatools:jar:1.0.0 at specified path
C:\software1\jdk/../lib/tools.jar -> [Help 1]
排除 lowcode-loader
中对 javatools
的依赖,然后单独引入 javatools
<dependency>
<groupId>com.manatee.manatee-lowcode</groupId>
<artifactId>lowcode-loader</artifactId>
<version>${lowcode.version}</version>
<exclusions>
<exclusion>
<groupId>javatools</groupId>
<artifactId>javatools</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javatools</groupId>
<artifactId>javatools</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>