修改容器内部路径

master
Qin Dong Ming 2024-09-07 21:21:52 +08:00
parent e6d59dde91
commit c744c72127
30 changed files with 268 additions and 301 deletions

View File

@ -15,13 +15,13 @@ import java.util.HashMap;
*/
public class Main {
public static void main (String[] args) {
public static void main(String[] args) {
BaseDataSource mySqlDataSource = new MySqlDataSource();
MySqlQuery mySqlQuery = new MySqlQuery();
mySqlQuery.setDataSourceId("1");
mySqlQuery.setSql("select age as 库.表.字段 from abc where name = :name");
mySqlQuery.setParams(
new HashMap<>(){{
new HashMap<>() {{
put("name", "张三");
}}
);

View File

@ -3,11 +3,11 @@ package com.muyu.access.data.base;
public abstract class BaseDataAbsSource implements BaseDataSource {
public void setQuery(BaseQuery baseQuery){
public void setQuery(BaseQuery baseQuery) {
BaseQueryHandler.set(baseQuery);
}
public <T> T getQuery(){
public <T> T getQuery() {
return BaseQueryHandler.get();
}
}

View File

@ -1,4 +1,5 @@
package com.muyu.access.data.base;
/**
* @Author: DongZeLiang
* @date: 2024/8/28
@ -9,11 +10,11 @@ public class BaseQueryHandler {
private static final ThreadLocal<BaseQuery> BASE_QUERY_THREAD_LOCAL = new ThreadLocal<>();
public static void set(BaseQuery baseQuery){
public static void set(BaseQuery baseQuery) {
BASE_QUERY_THREAD_LOCAL.set(baseQuery);
}
public static <T> T get(){
public static <T> T get() {
return (T) BASE_QUERY_THREAD_LOCAL.get();
}

View File

@ -20,7 +20,7 @@ import java.util.Map;
public class MySqlDataSource extends BaseDataAbsSource {
@Override
public DataValue getDataValue () {
public DataValue getDataValue() {
MySqlQuery query = getQuery();
String dataSourceId = query.getDataSourceId();
Connection connection = null;
@ -32,7 +32,7 @@ public class MySqlDataSource extends BaseDataAbsSource {
try {
PreparedStatement preparedStatement = connection.prepareStatement(sql);
ResultSet resultSet = preparedStatement.getResultSet();
if(resultSet.next()){
if (resultSet.next()) {
DataValue.builder()
.key(resultSet.getCursorName())
.label("")
@ -47,12 +47,12 @@ public class MySqlDataSource extends BaseDataAbsSource {
}
@Override
public DataValue[] getRow () {
public DataValue[] getRow() {
return new DataValue[0];
}
@Override
public DataValue[][] getRows () {
public DataValue[][] getRows() {
return new DataValue[0][];
}
}

View File

@ -12,17 +12,17 @@ import com.muyu.access.data.base.DataValue;
*/
public class RedisDataSource extends BaseDataAbsSource {
@Override
public DataValue getDataValue () {
public DataValue getDataValue() {
return null;
}
@Override
public DataValue[] getRow () {
public DataValue[] getRow() {
return new DataValue[0];
}
@Override
public DataValue[][] getRows () {
public DataValue[][] getRows() {
return new DataValue[0][];
}
}

View File

@ -15,7 +15,7 @@ public interface BasicEngine<V> {
public V get();
public default void remove(){
public default void remove() {
DataEngineHandler.remove();
}

View File

@ -13,11 +13,11 @@ import com.muyu.core.domain.DataValue;
public abstract class DataEngineRowActuator implements BasicEngine<DataValue[]> {
public void set(DataValue[] dataValue){
public void set(DataValue[] dataValue) {
DataEngineRowHandler.set(dataValue);
}
public DataValue[] get(){
public DataValue[] get() {
return DataEngineRowHandler.get();
}
}

View File

@ -12,16 +12,16 @@ import com.muyu.core.domain.DataValue;
*/
public abstract class DataEngineValueActuator implements BasicEngine<DataValue> {
public void set(DataValue dataValue){
public void set(DataValue dataValue) {
DataEngineValueHandler.set(dataValue);
}
public DataValue get(){
public DataValue get() {
return DataEngineValueHandler.get();
}
@Override
public void execution () {
public void execution() {
this.run();
this.remove();
}

View File

@ -19,7 +19,7 @@ public class DataEngineHandler {
return (T) dataEngineHandler.get();
}
public static void remove(){
public static void remove() {
dataEngineHandler.remove();
}
}

View File

@ -11,11 +11,11 @@ import com.muyu.core.domain.DataValue;
*/
public class DataEngineRowHandler {
public static void set(DataValue[] dataValue){
public static void set(DataValue[] dataValue) {
DataEngineHandler.set(dataValue);
}
public static DataValue[] get(){
public static DataValue[] get() {
return DataEngineHandler.get();
}

View File

@ -11,23 +11,23 @@ import com.muyu.core.utils.Convert;
*/
public class DataEngineValueHandler {
public static void set(DataValue dataValue){
public static void set(DataValue dataValue) {
DataEngineHandler.set(dataValue);
}
public static DataValue get(){
public static DataValue get() {
return DataEngineHandler.get();
}
public static void remove(){
public static void remove() {
DataEngineHandler.remove();
}
public static Object getValue(){
public static Object getValue() {
return get().getValue();
}
public static Integer getIntegerValue(){
public static Integer getIntegerValue() {
return Convert.toInt(getValue(), null);
}
}

View File

@ -14,7 +14,7 @@ public enum DataType {
private final Class<?> targetType;
DataType (String sourceType, Class<?> targetType) {
DataType(String sourceType, Class<?> targetType) {
this.sourceType = sourceType;
this.targetType = targetType;
}

View File

@ -24,10 +24,9 @@ public class Convert {
*
* @param value
* @param defaultValue
*
* @return
*/
public static String toStr (Object value, String defaultValue) {
public static String toStr(Object value, String defaultValue) {
if (null == value) {
return defaultValue;
}
@ -43,10 +42,9 @@ public class Convert {
*
*
* @param value
*
* @return
*/
public static String toStr (Object value) {
public static String toStr(Object value) {
return toStr(value, null);
}
@ -57,10 +55,9 @@ public class Convert {
*
* @param value
* @param defaultValue
*
* @return
*/
public static Character toChar (Object value, Character defaultValue) {
public static Character toChar(Object value, Character defaultValue) {
if (null == value) {
return defaultValue;
}
@ -78,10 +75,9 @@ public class Convert {
*
*
* @param value
*
* @return
*/
public static Character toChar (Object value) {
public static Character toChar(Object value) {
return toChar(value, null);
}
@ -92,10 +88,9 @@ public class Convert {
*
* @param value
* @param defaultValue
*
* @return
*/
public static Byte toByte (Object value, Byte defaultValue) {
public static Byte toByte(Object value, Byte defaultValue) {
if (value == null) {
return defaultValue;
}
@ -122,10 +117,9 @@ public class Convert {
*
*
* @param value
*
* @return
*/
public static Byte toByte (Object value) {
public static Byte toByte(Object value) {
return toByte(value, null);
}
@ -136,10 +130,9 @@ public class Convert {
*
* @param value
* @param defaultValue
*
* @return
*/
public static Short toShort (Object value, Short defaultValue) {
public static Short toShort(Object value, Short defaultValue) {
if (value == null) {
return defaultValue;
}
@ -166,10 +159,9 @@ public class Convert {
*
*
* @param value
*
* @return
*/
public static Short toShort (Object value) {
public static Short toShort(Object value) {
return toShort(value, null);
}
@ -180,10 +172,9 @@ public class Convert {
*
* @param value
* @param defaultValue
*
* @return
*/
public static Number toNumber (Object value, Number defaultValue) {
public static Number toNumber(Object value, Number defaultValue) {
if (value == null) {
return defaultValue;
}
@ -207,10 +198,9 @@ public class Convert {
*
*
* @param value
*
* @return
*/
public static Number toNumber (Object value) {
public static Number toNumber(Object value) {
return toNumber(value, null);
}
@ -221,10 +211,9 @@ public class Convert {
*
* @param value
* @param defaultValue
*
* @return
*/
public static Integer toInt (Object value, Integer defaultValue) {
public static Integer toInt(Object value, Integer defaultValue) {
if (value == null) {
return defaultValue;
}
@ -251,10 +240,9 @@ public class Convert {
*
*
* @param value
*
* @return
*/
public static Integer toInt (Object value) {
public static Integer toInt(Object value) {
return toInt(value, null);
}
@ -262,10 +250,9 @@ public class Convert {
* Integer<br>
*
* @param str
*
* @return
*/
public static Integer[] toIntArray (String str) {
public static Integer[] toIntArray(String str) {
return toIntArray(",", str);
}
@ -273,10 +260,9 @@ public class Convert {
* Long<br>
*
* @param str
*
* @return
*/
public static Long[] toLongArray (String str) {
public static Long[] toLongArray(String str) {
return toLongArray(",", str);
}
@ -285,16 +271,15 @@ public class Convert {
*
* @param split
* @param str
*
* @return
*/
public static Integer[] toIntArray (String split, String str) {
public static Integer[] toIntArray(String split, String str) {
if (StringUtils.isEmpty(str)) {
return new Integer[]{};
}
String[] arr = str.split(split);
final Integer[] ints = new Integer[arr.length];
for (int i = 0 ; i < arr.length ; i++) {
for (int i = 0; i < arr.length; i++) {
final Integer v = toInt(arr[i], 0);
ints[i] = v;
}
@ -306,16 +291,15 @@ public class Convert {
*
* @param split
* @param str
*
* @return
*/
public static Long[] toLongArray (String split, String str) {
public static Long[] toLongArray(String split, String str) {
if (StringUtils.isEmpty(str)) {
return new Long[]{};
}
String[] arr = str.split(split);
final Long[] longs = new Long[arr.length];
for (int i = 0 ; i < arr.length ; i++) {
for (int i = 0; i < arr.length; i++) {
final Long v = toLong(arr[i], null);
longs[i] = v;
}
@ -326,10 +310,9 @@ public class Convert {
* String<br>
*
* @param str
*
* @return
*/
public static String[] toStrArray (String str) {
public static String[] toStrArray(String str) {
return toStrArray(",", str);
}
@ -338,10 +321,9 @@ public class Convert {
*
* @param split
* @param str
*
* @return
*/
public static String[] toStrArray (String split, String str) {
public static String[] toStrArray(String split, String str) {
return str.split(split);
}
@ -352,10 +334,9 @@ public class Convert {
*
* @param value
* @param defaultValue
*
* @return
*/
public static Long toLong (Object value, Long defaultValue) {
public static Long toLong(Object value, Long defaultValue) {
if (value == null) {
return defaultValue;
}
@ -383,10 +364,9 @@ public class Convert {
*
*
* @param value
*
* @return
*/
public static Long toLong (Object value) {
public static Long toLong(Object value) {
return toLong(value, null);
}
@ -397,10 +377,9 @@ public class Convert {
*
* @param value
* @param defaultValue
*
* @return
*/
public static Double toDouble (Object value, Double defaultValue) {
public static Double toDouble(Object value, Double defaultValue) {
if (value == null) {
return defaultValue;
}
@ -428,10 +407,9 @@ public class Convert {
*
*
* @param value
*
* @return
*/
public static Double toDouble (Object value) {
public static Double toDouble(Object value) {
return toDouble(value, null);
}
@ -442,10 +420,9 @@ public class Convert {
*
* @param value
* @param defaultValue
*
* @return
*/
public static Float toFloat (Object value, Float defaultValue) {
public static Float toFloat(Object value, Float defaultValue) {
if (value == null) {
return defaultValue;
}
@ -472,10 +449,9 @@ public class Convert {
*
*
* @param value
*
* @return
*/
public static Float toFloat (Object value) {
public static Float toFloat(Object value) {
return toFloat(value, null);
}
@ -486,10 +462,9 @@ public class Convert {
*
* @param value
* @param defaultValue
*
* @return
*/
public static Boolean toBool (Object value, Boolean defaultValue) {
public static Boolean toBool(Object value, Boolean defaultValue) {
if (value == null) {
return defaultValue;
}
@ -522,10 +497,9 @@ public class Convert {
*
*
* @param value
*
* @return
*/
public static Boolean toBool (Object value) {
public static Boolean toBool(Object value) {
return toBool(value, null);
}
@ -536,10 +510,9 @@ public class Convert {
* @param clazz EnumClass
* @param value
* @param defaultValue
*
* @return Enum
*/
public static <E extends Enum<E>> E toEnum (Class<E> clazz, Object value, E defaultValue) {
public static <E extends Enum<E>> E toEnum(Class<E> clazz, Object value, E defaultValue) {
if (value == null) {
return defaultValue;
}
@ -565,10 +538,9 @@ public class Convert {
*
* @param clazz EnumClass
* @param value
*
* @return Enum
*/
public static <E extends Enum<E>> E toEnum (Class<E> clazz, Object value) {
public static <E extends Enum<E>> E toEnum(Class<E> clazz, Object value) {
return toEnum(clazz, value, null);
}
@ -579,10 +551,9 @@ public class Convert {
*
* @param value
* @param defaultValue
*
* @return
*/
public static BigInteger toBigInteger (Object value, BigInteger defaultValue) {
public static BigInteger toBigInteger(Object value, BigInteger defaultValue) {
if (value == null) {
return defaultValue;
}
@ -609,10 +580,9 @@ public class Convert {
*
*
* @param value
*
* @return
*/
public static BigInteger toBigInteger (Object value) {
public static BigInteger toBigInteger(Object value) {
return toBigInteger(value, null);
}
@ -623,10 +593,9 @@ public class Convert {
*
* @param value
* @param defaultValue
*
* @return
*/
public static BigDecimal toBigDecimal (Object value, BigDecimal defaultValue) {
public static BigDecimal toBigDecimal(Object value, BigDecimal defaultValue) {
if (value == null) {
return defaultValue;
}
@ -659,10 +628,9 @@ public class Convert {
*
*
* @param value
*
* @return
*/
public static BigDecimal toBigDecimal (Object value) {
public static BigDecimal toBigDecimal(Object value) {
return toBigDecimal(value, null);
}
@ -671,10 +639,9 @@ public class Convert {
* 1ByteByteBuffer 2Arrays.toString
*
* @param obj
*
* @return
*/
public static String utf8Str (Object obj) {
public static String utf8Str(Object obj) {
return str(obj, "UTF-8");
}
@ -684,10 +651,9 @@ public class Convert {
*
* @param obj
* @param charsetName
*
* @return
*/
public static String str (Object obj, String charsetName) {
public static String str(Object obj, String charsetName) {
return str(obj, Charset.forName(charsetName));
}
@ -697,10 +663,9 @@ public class Convert {
*
* @param obj
* @param charset
*
* @return
*/
public static String str (Object obj, Charset charset) {
public static String str(Object obj, Charset charset) {
if (null == obj) {
return null;
}
@ -714,7 +679,7 @@ public class Convert {
Byte[] bytes = (Byte[]) obj;
int length = bytes.length;
byte[] dest = new byte[length];
for (int i = 0 ; i < length ; i++) {
for (int i = 0; i < length; i++) {
dest[i] = bytes[i];
}
return str(dest, charset);
@ -730,10 +695,9 @@ public class Convert {
*
* @param bytes byte
* @param charset
*
* @return
*/
public static String str (byte[] bytes, String charset) {
public static String str(byte[] bytes, String charset) {
return str(bytes, StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset));
}
@ -742,10 +706,9 @@ public class Convert {
*
* @param data
* @param charset
*
* @return
*/
public static String str (byte[] data, Charset charset) {
public static String str(byte[] data, Charset charset) {
if (data == null) {
return null;
}
@ -761,10 +724,9 @@ public class Convert {
*
* @param data
* @param charset 使
*
* @return
*/
public static String str (ByteBuffer data, String charset) {
public static String str(ByteBuffer data, String charset) {
if (data == null) {
return null;
}
@ -777,10 +739,9 @@ public class Convert {
*
* @param data
* @param charset 使
*
* @return
*/
public static String str (ByteBuffer data, Charset charset) {
public static String str(ByteBuffer data, Charset charset) {
if (null == charset) {
charset = Charset.defaultCharset();
}
@ -793,10 +754,9 @@ public class Convert {
*
*
* @param input String.
*
* @return .
*/
public static String toSBC (String input) {
public static String toSBC(String input) {
return toSBC(input, null);
}
@ -805,12 +765,11 @@ public class Convert {
*
* @param input String
* @param notConvertSet
*
* @return .
*/
public static String toSBC (String input, Set<Character> notConvertSet) {
public static String toSBC(String input, Set<Character> notConvertSet) {
char[] c = input.toCharArray();
for (int i = 0 ; i < c.length ; i++) {
for (int i = 0; i < c.length; i++) {
if (null != notConvertSet && notConvertSet.contains(c[i])) {
// 跳过不替换的字符
continue;
@ -830,10 +789,9 @@ public class Convert {
*
*
* @param input String.
*
* @return
*/
public static String toDBC (String input) {
public static String toDBC(String input) {
return toDBC(input, null);
}
@ -842,12 +800,11 @@ public class Convert {
*
* @param text
* @param notConvertSet
*
* @return
*/
public static String toDBC (String text, Set<Character> notConvertSet) {
public static String toDBC(String text, Set<Character> notConvertSet) {
char[] c = text.toCharArray();
for (int i = 0 ; i < c.length ; i++) {
for (int i = 0; i < c.length; i++) {
if (null != notConvertSet && notConvertSet.contains(c[i])) {
// 跳过不替换的字符
continue;
@ -866,10 +823,9 @@ public class Convert {
*
*
* @param n
*
* @return
*/
public static String digitUppercase (double n) {
public static String digitUppercase(double n) {
String[] fraction = {"角", "分"};
String[] digit = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
String[][] unit = {{"元", "万", "亿"}, {"", "拾", "佰", "仟"}};
@ -878,7 +834,7 @@ public class Convert {
n = Math.abs(n);
String s = "";
for (int i = 0 ; i < fraction.length ; i++) {
for (int i = 0; i < fraction.length; i++) {
// 优化double计算精度丢失问题
BigDecimal nNum = new BigDecimal(n);
BigDecimal decimal = new BigDecimal(10);
@ -891,9 +847,9 @@ public class Convert {
}
int integerPart = (int) Math.floor(n);
for (int i = 0 ; i < unit[0].length && integerPart > 0 ; i++) {
for (int i = 0; i < unit[0].length && integerPart > 0; i++) {
String p = "";
for (int j = 0 ; j < unit[1].length && n > 0 ; j++) {
for (int j = 0; j < unit[1].length && n > 0; j++) {
p = digit[integerPart % 10] + unit[1][j] + p;
integerPart = integerPart / 10;
}

View File

@ -11,6 +11,7 @@ import java.util.List;
/**
* qdm
*
* @Packagecom.muyu.req
* @Projectcloud-etl-engine
* @nameEngineVersionListResp

View File

@ -180,7 +180,7 @@ public class EngineVersionController extends BaseController {
*/
@PostMapping("/insertVersion")
public boolean insertVersion(@RequestBody EngineVersion engineVersion) {
log.info("数据是:{}"+engineVersion.getRuleContent());
log.info("数据是:{}" + engineVersion.getRuleContent());
OssUpload.uploadFiles(engineVersion.getRuleContent(), engineVersion.getVersionCode());
OSSFileDownload.streamingDownload(engineVersion.getName());
JavaClass.compile(engineVersion.getName());

View File

@ -64,13 +64,13 @@ public class SourceDataController extends BaseController {
// }
@PostMapping("/selectDataBase")
public List<Datas> selectDataBase(){
public List<Datas> selectDataBase() {
List<Datas> dataSources = tableInfoService.selectDataBase();
return dataSources;
}
@PostMapping("/selectData")
public List<SourceData> selectData(){
public List<SourceData> selectData() {
List<SourceData> dataSources = tableInfoService.selectData();
return dataSources;
}

View File

@ -16,42 +16,53 @@ import lombok.experimental.SuperBuilder;
@AllArgsConstructor
@SuperBuilder
@EqualsAndHashCode(callSuper = true)
@TableName(value ="table_info") //数据库表相关
@TableName(value = "table_info") //数据库表相关
public class TableInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键 */
/**
*
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
//数据源主键
private Long basicId;
/** 表名称/数据库 */
/**
* /
*/
@Excel(name = "表名称/数据库")
private String tableName;
/** 表备注 */
/**
*
*/
@Excel(name = "表备注")
private String tableRemark;
/** 表的数据来源 */
/**
*
*/
@Excel(name = "数据来源类型")
private String type;
/** 数据量 */
/**
*
*/
@Excel(name = "数据量")
private Long dataNum;
/** 是否核心 'Y'是 'N'不是 */
/**
* 'Y' 'N'
*/
@Excel(name = "是否核心 'Y'是 'N'不是")
private String center;
private Long parentId;
public static TableInfoResp toTableInfoResp(TableInfo tableInfo) {
return TableInfoResp.builder()
.id(tableInfo.id)

View File

@ -32,10 +32,14 @@ public class TableInfoResp {
*/
private String tableRemark;
/** 数据量 */
/**
*
*/
private Long dataNum;
/** 是否核心 'Y'是 'N'不是 */
/**
* 'Y' 'N'
*/
private String isCenter;
//父级ID

View File

@ -6,6 +6,7 @@ import javax.tools.*;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
@Log4j2
public class JavaCompilerDemo {
@ -26,7 +27,7 @@ public class JavaCompilerDemo {
// 执行编译
JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, null, null, compilationUnits);
log.info("数据是:{}"+task);
log.info("数据是:{}" + task);
boolean success = task.call();
// 处理编译结果

View File

@ -30,14 +30,11 @@ public class JavaStringCompiler {
/**
* Compile a Java source file in memory.
*
* @param fileName
* Java file name, e.g. "Test.java"
* @param source
* The source code as String.
* @param fileName Java file name, e.g. "Test.java"
* @param source The source code as String.
* @return The compiled results as Map that contains class name as key,
* class binary as value.
* @throws IOException
* If compile error.
* @throws IOException If compile error.
*/
public Map<String, byte[]> compile(String fileName, String source) throws IOException {
try (MemoryJavaFileManager manager = new MemoryJavaFileManager(stdManager)) {
@ -54,15 +51,11 @@ public class JavaStringCompiler {
/**
* Load class from compiled classes.
*
* @param name
* Full class name.
* @param classBytes
* Compiled results as a Map.
* @param name Full class name.
* @param classBytes Compiled results as a Map.
* @return The Class instance.
* @throws ClassNotFoundException
* If class not found.
* @throws IOException
* If load error.
* @throws ClassNotFoundException If class not found.
* @throws IOException If load error.
*/
public Class<?> loadClass(String name, Map<String, byte[]> classBytes) throws ClassNotFoundException, IOException {
try (DynamicLoader.MemoryClassLoader classLoader = new DynamicLoader.MemoryClassLoader(classBytes)) {

View File

@ -32,13 +32,13 @@ public class OssDownload {
return Result.error("bucket不存在");
}
String objectName = fileName + ".java";
Boolean flag_file = ossClient.doesObjectExist(bucketName, filePath+objectName);
Boolean flag_file = ossClient.doesObjectExist(bucketName, filePath + objectName);
if (!flag_file) {
System.out.println("预下载文件不存在");
return Result.error("预下载文件不存在");
}
// 本地文件下载路径
String localPath = "home/"+objectName;
String localPath = "home/" + objectName;
ObjectMetadata object = ossClient.getObject(new GetObjectRequest(bucketName, filePath + objectName), new File(localPath));
System.out.println(object);
ossClient.shutdown();

View File

@ -149,8 +149,7 @@ public class EngIneServiceImpl extends ServiceImpl<EngineMapper, EngineMaintenan
}
@Override
public Object measurementList(EngineVersion ruleEdition)
{
public Object measurementList(EngineVersion ruleEdition) {
return null;
}
}

View File

@ -1,4 +1,5 @@
package com.muyu.service.serviceImpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.domain.Datas;
import com.muyu.domain.SourceData;

View File

@ -9,7 +9,7 @@ import javax.tools.ToolProvider;
public class JavaClass {
public static Result<Object> compile(String fileName) {
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
String[] strings = {"-classpath", "/home/lib", "-verbose", "-d", "/home", "/home/"+fileName+".java"};
String[] strings = {"-classpath", "/home/lib", "-verbose", "-d", "/home", "/home/" + fileName + ".java"};
int result = compiler.run(null, null, null, strings);
if (result == 0) {
System.out.println("编译成功,生成的.class文件位于源代码同目录");

View File

@ -74,7 +74,7 @@ public class TestService {
OutputStream second = null; // 程序的输出 null 用 system.out
OutputStream third = null; // 程序的错误输出 .,null 用 system.err
// 程序编译参数 注意 我们编译目录是我们的项目目录
String[] strings = {"-classpath", engineWorkSourcePath, "-verbose", "-d", engineWorkSourcePath, engineWorkSourcePath + engineVersion.getName()+".java"};
String[] strings = {"-classpath", engineWorkSourcePath, "-verbose", "-d", engineWorkSourcePath, engineWorkSourcePath + engineVersion.getName() + ".java"};
// 0 表示成功, 其他表示出现了错误
System.out.println(Arrays.toString(strings));
int i = javaCompiler.run(first, second, third, strings);
@ -87,7 +87,7 @@ public class TestService {
// 假设这是你的外部类文件路径
String externalClassFilePath =
engineWorkSourcePath + "\\com\\muyu\\abstracts\\"+engineVersion.getName()+".class";
engineWorkSourcePath + "\\com\\muyu\\abstracts\\" + engineVersion.getName() + ".class";
Path classFilePath = Paths.get(externalClassFilePath);
// 获取外部类所在的目录
String externalClassDir = externalClassFilePath.substring(0, externalClassFilePath.lastIndexOf('\\'));