跳到主要内容

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) //放到上下文里且在返回中显示

调试

java数据处理辅助文件

Q&A

在idea调试没问题,但是编译打包后使用会报错:找不到 com.sun.tools.javac.util.Context

  1. 检查项目中 spring-boot-maven-plugin 的配置,是否 includeSystemScope 为true java_1.png
  2. 检查编译打包机器的 $JAVA_HOME 是否可以正常输出 java_2.png
  3. 检查编译打包机器的 $JAVA_HOME 下的 lib 目录下是否有tools.jarjava_3.png

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>

尝试一下