| | |
| | | package com.ks.codegenerator.utils; |
| | | |
| | | import org.w3c.dom.Document; |
| | | import org.w3c.dom.Node; |
| | | import org.w3c.dom.NodeList; |
| | | import org.yeshi.utils.FileUtil; |
| | | import org.yeshi.utils.StringUtil; |
| | | |
| | | import javax.xml.parsers.DocumentBuilder; |
| | | import javax.xml.parsers.DocumentBuilderFactory; |
| | | import javax.xml.transform.Transformer; |
| | | import javax.xml.transform.TransformerFactory; |
| | | import javax.xml.transform.dom.DOMSource; |
| | | import javax.xml.transform.stream.StreamResult; |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | //修改文件名称与文件夹名称 |
| | | renameDir(destPath); |
| | | //重新命名包名 |
| | | renamePackage(destPath + "/app/src/main/java/com/ks/app"); |
| | | renamePackage(destPath + "/app/src/main/java/" + subpks.replace(".", "/")); |
| | | replaceSettings(destPath); |
| | | //压缩文件夹 |
| | | File zip = new File(new File(destPath).getParent(), new File(destPath).getName() + ".zip"); |
| | |
| | | FileUtils.replaceFileContent(path + "/pom.xml", "<groupId>com.ks</groupId>", String.format("<groupId>%s</groupId>", getGroupId(pks))); |
| | | FileUtils.replaceFileContent(path + "/pom.xml", "<artifactId>demo</artifactId>", String.format("<artifactId>%s</artifactId>", getArtifactId(pks))); |
| | | |
| | | FileUtils.replaceFileContent(path + "/app/pom.xml", "<groupId>com.ks</groupId>", String.format("<groupId>%s</groupId>", getGroupId(subpks))); |
| | | FileUtils.replaceFileContent(path + "/app/pom.xml", "<artifactId>demo</artifactId>", String.format("<artifactId>%s</artifactId>", getArtifactId(subpks))); |
| | | |
| | | //更改parent以及artifactId |
| | | DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); |
| | | DocumentBuilder db = dbf.newDocumentBuilder(); |
| | | Document doc = db.parse(path + "/app/pom.xml"); |
| | | NodeList list = doc.getElementsByTagName("project").item(0).getChildNodes(); |
| | | for (int i = 0; i < list.getLength(); i++) { |
| | | if (list.item(i).getNodeName().equalsIgnoreCase("parent")) { |
| | | NodeList parent = list.item(i).getChildNodes(); |
| | | for (int j = 0; j < parent.getLength(); j++) { |
| | | Node node = parent.item(j); |
| | | switch (node.getNodeName()) { |
| | | case "artifactId": |
| | | node.setTextContent(getArtifactId(pks)); |
| | | break; |
| | | case "groupId": |
| | | node.setTextContent(getGroupId(pks)); |
| | | break; |
| | | } |
| | | } |
| | | } else if (list.item(i).getNodeName().equalsIgnoreCase("artifactId")) { |
| | | list.item(i).setTextContent(getArtifactId(subpks)); |
| | | } |
| | | } |
| | | |
| | | //保存 |
| | | Transformer ts = TransformerFactory.newInstance().newTransformer(); |
| | | ts.transform(new DOMSource(doc), new StreamResult(path + "/app/pom.xml")); |
| | | |
| | | |
| | | FileUtils.replaceFileContent(path + "/app/src/main/resources/application-dev.yml", "com.ks.app", subpks); |
| | | FileUtils.replaceFileContent(path + "/app/src/main/resources/application-pro.yml", "com.ks.app", subpks); |
| | |
| | | FileUtils.renameFile(path + "/service.iml", name + ".iml"); |
| | | //更改java文件的路径 |
| | | FileUtils.copyFileDir(path + "/app/src/main/java/com/ks/app", path + "/app/src/main/java/" + subpks.replace(".", "/")); |
| | | new File(path + "/app/src/main/java/com/ks/app").delete(); |
| | | FileUtil.deleteFileDir(new File(path + "/app/src/main/java/com/ks/app")); |
| | | } |
| | | |
| | | |