roo00 6 лет назад
Родитель
Сommit
1e9d060ca5

+ 4 - 2
o2server/x_base_core_project/pom.xml

@@ -30,7 +30,8 @@
 							<addOutputToClasspath>true</addOutputToClasspath>
 							<includePluginDependencies>true</includePluginDependencies>
 							<includeProjectDependencies>true</includeProjectDependencies>
-							<mainClass>com.x.base.core.entity.tools.MetaModelBuilder</mainClass>
+							<mainClass>com.x.base.core.entity.tools.MetaModelBuilder
+							</mainClass>
 							<arguments>
 								<argument>${basedir}</argument>
 								<argument>${project.build.sourceDirectory}</argument>
@@ -48,7 +49,8 @@
 							<addOutputToClasspath>true</addOutputToClasspath>
 							<includePluginDependencies>true</includePluginDependencies>
 							<includeProjectDependencies>true</includeProjectDependencies>
-							<mainClass>com.x.base.core.entity.tools.EnhanceBaseBuilder</mainClass>
+							<mainClass>com.x.base.core.entity.tools.EnhanceBaseBuilder
+							</mainClass>
 							<arguments>
 								<argument>${project.build.directory}</argument>
 								<argument>${project.build.outputDirectory}</argument>

+ 15 - 7
o2server/x_base_core_project/src/main/java/com/x/base/core/entity/tools/MetaModelBuilder.java

@@ -2,6 +2,8 @@ package com.x.base.core.entity.tools;
 
 import java.io.File;
 import java.io.OutputStreamWriter;
+import java.net.URL;
+import java.net.URLClassLoader;
 import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -37,6 +39,7 @@ public class MetaModelBuilder {
 			File basedir = new File(args[0]);
 			File sourcedir = new File(args[1]);
 			File outputdir = new File(args[2]);
+
 			File o2oadir = basedir.getParentFile().getParentFile();
 
 			JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
@@ -44,7 +47,6 @@ public class MetaModelBuilder {
 			fileManager.setLocation(StandardLocation.SOURCE_PATH, Arrays.asList(sourcedir));
 			fileManager.setLocation(StandardLocation.CLASS_OUTPUT, Arrays.asList(sourcedir));
 			fileManager.setLocation(StandardLocation.CLASS_PATH, classpath(o2oadir, outputdir));
-
 			List<JavaFileObject> res = new ArrayList<>();
 
 			List<String> paths = scanEntityJava(sourcedir);
@@ -79,13 +81,19 @@ public class MetaModelBuilder {
 			cp.add(o);
 		}
 
-		filter = new WildcardFileFilter("*.jar");
-		File dir = new File(o2oadir, "o2server/commons/ext");
-		if (dir.exists() && dir.isDirectory()) {
-			for (File o : FileUtils.listFiles(dir, filter, null)) {
-				cp.add(o);
-			}
+		ClassLoader cl = MetaModelBuilder.class.getClassLoader();
+
+		URL[] urls = ((URLClassLoader) cl).getURLs();
+
+		for (URL url : urls) {
+			cp.add(new File(url.getFile()));
 		}
+
+//		filter = new WildcardFileFilter("*.jar");
+//		File dir = new File(o2oadir, "o2server/commons/ext");
+//		for (File o : FileUtils.listFiles(dir, filter, null)) {
+//			cp.add(o);
+//		}
 		return cp;
 	}