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