From 5b8652e758962234752b2d5c6380cdd2833033d4 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 30 三月 2022 18:18:40 +0800 Subject: [PATCH] maven增加依赖打包方式,修复自动化代码bug --- src/main/java/org/yeshi/utils/generater/util/NameUtil.java | 4 ++ src/main/java/org/yeshi/utils/generater/GeneraterManagerV2.java | 7 +++ src/main/java/org/yeshi/utils/generater/vo/xmlconfig/XmlConfigParseUtil.java | 11 +++-- pom.xml | 43 +++++++++++---------- src/main/resources/assembly.xml | 34 +++++++++++++++++ 5 files changed, 73 insertions(+), 26 deletions(-) diff --git a/pom.xml b/pom.xml index a131bd8..28eca83 100644 --- a/pom.xml +++ b/pom.xml @@ -267,6 +267,12 @@ <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> + <exclusions> + <exclusion> + <groupId>xml-apis</groupId> + <artifactId>xml-apis</artifactId> + </exclusion> + </exclusions> </dependency> <!-- https://mvnrepository.com/artifact/javax.mail/mail --> @@ -359,12 +365,25 @@ <version>3.1.472</version> </dependency> - </dependencies> <build> <finalName>utils</finalName> <plugins> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <configuration> + <!--杩欓儴鍒嗗彲鏈夊彲鏃�,鍔犱笂鐨勮瘽鍒欑洿鎺ョ敓鎴愬彲杩愯jar鍖�--> + <!--<archive>--> + <!--<manifest>--> + <!--<mainClass>${exec.mainClass}</mainClass>--> + <!--</manifest>--> + <!--</archive>--> + <descriptor>src/main/resources/assembly.xml</descriptor> + </configuration> + </plugin> + + <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> @@ -377,26 +396,6 @@ <skip>true</skip> </configuration> </plugin> - - <!--<plugin>--> - <!--<groupId>org.apache.maven.plugins</groupId>--> - <!--<artifactId>maven-assembly-plugin</artifactId>--> - <!--<configuration>--> - <!--<descriptorRefs>--> - <!--<descriptorRef>jar-with-dependencies</descriptorRef>--> - <!--</descriptorRefs>--> - <!--</configuration>--> - <!--<executions>--> - <!--<execution>--> - <!--<id>make-assembly</id>--> - <!--<phase>package</phase>--> - <!--<goals>--> - <!--<goal>single</goal>--> - <!--</goals>--> - <!--</execution>--> - <!--</executions>--> - <!--</plugin>--> - <plugin> <groupId>org.apache.maven.plugins</groupId> @@ -418,6 +417,8 @@ </execution> </executions> </plugin> + + </plugins> <resources> <resource> diff --git a/src/main/java/org/yeshi/utils/generater/GeneraterManagerV2.java b/src/main/java/org/yeshi/utils/generater/GeneraterManagerV2.java index 959dadc..3f679a8 100644 --- a/src/main/java/org/yeshi/utils/generater/GeneraterManagerV2.java +++ b/src/main/java/org/yeshi/utils/generater/GeneraterManagerV2.java @@ -87,12 +87,13 @@ throw new Exception("灏氭湭閰嶇疆寮傚父淇℃伅"); } + String exceptionName = NameUtil.getDefaultExceptionName(config.getEntity()); String path = getDirPath(config.getService().getException().getPkg()); try { ExceptionVO vo = new ExceptionVO.Builder().setEntity(config.getEntity()).setPackageName(config.getService().getException().getPkg()).setBase(new ClassInfo(base.getSimpleName(), base.getName())).build(); String result = GeneraterUtil.createException(vo); //淇濆瓨 - saveFile(result, path); + saveFile(result, new File(path, exceptionName + ".java").getAbsolutePath()); } catch (Exception e) { e.printStackTrace(); } @@ -218,6 +219,10 @@ } } + if (config.getService().getException() != null) { + createException(Exception.class); + } + QueryVO queryVO = createQuery(config.getService().getQueryPackage()); ClassInfo query = new ClassInfo(queryVO.getClassName(), queryVO.getPackageName() + "." + queryVO.getClassName()); diff --git a/src/main/java/org/yeshi/utils/generater/util/NameUtil.java b/src/main/java/org/yeshi/utils/generater/util/NameUtil.java index be3c69c..4c820af 100644 --- a/src/main/java/org/yeshi/utils/generater/util/NameUtil.java +++ b/src/main/java/org/yeshi/utils/generater/util/NameUtil.java @@ -20,6 +20,10 @@ return entity.getSimpleName() + "Service"; } + public static String getDefaultExceptionName(Class entity) { + return entity.getSimpleName() + "Exception"; + } + public static String getDefaultQueryName(Class entity) { return entity.getSimpleName() + "Query"; } diff --git a/src/main/java/org/yeshi/utils/generater/vo/xmlconfig/XmlConfigParseUtil.java b/src/main/java/org/yeshi/utils/generater/vo/xmlconfig/XmlConfigParseUtil.java index 0ba0094..a14bee6 100644 --- a/src/main/java/org/yeshi/utils/generater/vo/xmlconfig/XmlConfigParseUtil.java +++ b/src/main/java/org/yeshi/utils/generater/vo/xmlconfig/XmlConfigParseUtil.java @@ -3,7 +3,6 @@ import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; -import org.xml.sax.SAXException; import org.yeshi.utils.generater.GeneraterManagerV2; import org.yeshi.utils.generater.annotation.admin.DaoQueryCondition; import org.yeshi.utils.generater.annotation.admin.Show; @@ -21,8 +20,9 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import java.io.*; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.InputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -36,7 +36,7 @@ */ public class XmlConfigParseUtil { - public static GenertorConfig parse(InputStream inputStream) throws IOException, ParserConfigurationException, SAXException, ClassNotFoundException { + public static GenertorConfig parse(InputStream inputStream) throws Exception { if (inputStream == null) { throw new FileNotFoundException(); } @@ -45,6 +45,9 @@ DocumentBuilder builder = factory.newDocumentBuilder(); Document root = builder.parse(inputStream); NodeList nodelist = root.getElementsByTagName("generator-config"); + if (nodelist.getLength() == 0) { + throw new Exception("xml鏍煎紡閿欒"); + } Node rootNode = nodelist.item(0); String clazz = rootNode.getAttributes().getNamedItem("class").getNodeValue(); genertorConfig.setEntity(Class.forName(clazz)); diff --git a/src/main/resources/assembly.xml b/src/main/resources/assembly.xml new file mode 100644 index 0000000..368b468 --- /dev/null +++ b/src/main/resources/assembly.xml @@ -0,0 +1,34 @@ +<assembly> + <id>full</id> + + <formats> + <format>jar</format> + </formats> + + <includeBaseDirectory>false</includeBaseDirectory> + + + <dependencySets> + <dependencySet> + <unpack>true</unpack> + <scope>runtime</scope> + <outputDirectory></outputDirectory> + <!--<excludes>--> + <!--<exclude>org.yeshi:utils</exclude>--> + <!--</excludes>--> + </dependencySet> + + </dependencySets> + + + <!--<fileSets>--> + <!--<fileSet>--> + <!--<includes>--> + <!--<include>target/classes/**</include>--> + <!--</includes>--> + <!--<outputDirectory></outputDirectory>--> + <!--</fileSet>--> + <!--</fileSets>--> + + +</assembly> -- Gitblit v1.8.0