diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/enums/ScriptTypeEnum.java b/liteflow-core/src/main/java/com/yomahub/liteflow/enums/ScriptTypeEnum.java
index 7fb0d973b..f350b4169 100644
--- a/liteflow-core/src/main/java/com/yomahub/liteflow/enums/ScriptTypeEnum.java
+++ b/liteflow-core/src/main/java/com/yomahub/liteflow/enums/ScriptTypeEnum.java
@@ -7,7 +7,8 @@ public enum ScriptTypeEnum {
JS("javascript", "js"),
PYTHON("python", "python"),
LUA("luaj", "lua"),
- AVIATOR("AviatorScript", "aviator");
+ AVIATOR("AviatorScript", "aviator"),
+ JAVA("java", "java");
private String engineName;
diff --git a/liteflow-script-plugin/liteflow-script-java/pom.xml b/liteflow-script-plugin/liteflow-script-java/pom.xml
new file mode 100644
index 000000000..7020304c7
--- /dev/null
+++ b/liteflow-script-plugin/liteflow-script-java/pom.xml
@@ -0,0 +1,27 @@
+
+
+ 4.0.0
+
+ com.yomahub
+ liteflow-script-plugin
+ ${revision}
+ ../pom.xml
+
+
+ liteflow-script-java
+
+
+
+ com.yomahub
+ liteflow-core
+ ${revision}
+ provided
+
+
+ org.codehaus.janino
+ janino
+
+
+
\ No newline at end of file
diff --git a/liteflow-script-plugin/liteflow-script-java/src/main/java/com/yomahub/liteflow/script/java/JavaExecutor.java b/liteflow-script-plugin/liteflow-script-java/src/main/java/com/yomahub/liteflow/script/java/JavaExecutor.java
new file mode 100644
index 000000000..800c57e40
--- /dev/null
+++ b/liteflow-script-plugin/liteflow-script-java/src/main/java/com/yomahub/liteflow/script/java/JavaExecutor.java
@@ -0,0 +1,38 @@
+package com.yomahub.liteflow.script.java;
+
+import com.yomahub.liteflow.enums.ScriptTypeEnum;
+import com.yomahub.liteflow.script.ScriptExecuteWrap;
+import com.yomahub.liteflow.script.ScriptExecutor;
+import org.codehaus.commons.compiler.CompilerFactoryFactory;
+import org.codehaus.commons.compiler.IScriptEvaluator;
+
+public class JavaExecutor extends ScriptExecutor {
+ @Override
+ public void load(String nodeId, String script) {
+ // 创建Janino脚本Evaluator
+ /*IScriptEvaluator se = CompilerFactoryFactory.getDefaultCompilerFactory().newScriptEvaluator();
+ // 返回值类型指定为Object以支持不同脚本
+ se.setReturnType(Object.class);
+ // 指定Janino脚本里的变量名及类型,为通用起见,只设置一个Object类型的变量
+ se.setParameters(new String[] { JANINO_SCRIPT_PARAMETER_NAME }, new Class[] { Object.class });
+ // 编译
+ se.cook(script);
+ // 缓存编译过的Evaluator
+ compiledScriptMap.put(nodeId, se);*/
+ }
+
+ @Override
+ public Object executeScript(ScriptExecuteWrap wrap) throws Exception {
+ return null;
+ }
+
+ @Override
+ public void cleanCache() {
+
+ }
+
+ @Override
+ public ScriptTypeEnum scriptType() {
+ return null;
+ }
+}
diff --git a/liteflow-script-plugin/pom.xml b/liteflow-script-plugin/pom.xml
index 1898d7a54..2c43fa16c 100644
--- a/liteflow-script-plugin/pom.xml
+++ b/liteflow-script-plugin/pom.xml
@@ -22,6 +22,7 @@
liteflow-script-python
liteflow-script-lua
liteflow-script-aviator
+ liteflow-script-java
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 30bb9ec95..c0b2652e8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -75,6 +75,7 @@
5.3.3
2.11.0
1.3.5
+ 3.1.9
@@ -298,6 +299,11 @@
commons-io
${common-io.version}
+
+ org.codehaus.janino
+ janino
+ ${janino.version}
+