diff --git a/dsBase/dependency-reduced-pom.xml b/dsBase/dependency-reduced-pom.xml
new file mode 100644
index 00000000..8f0e462f
--- /dev/null
+++ b/dsBase/dependency-reduced-pom.xml
@@ -0,0 +1,85 @@
+
+
+
+ dsProject
+ com.dsideal
+ 1.0
+
+ 4.0.0
+ dsBase
+ dsBase
+ 1.0
+
+
+
+ src/main/java
+
+ **/*.sql
+ **/*.class
+
+
+
+ src/main/resources
+
+
+ dsRes
+
+
+ maven-compiler-plugin
+ 3.6.1
+
+ 21
+ 21
+ UTF-8
+ -parameters
+
+
+
+ maven-shade-plugin
+ 3.2.1
+
+
+ package
+
+ shade
+
+
+ dsRes
+
+
+ com.demo.common.DemoConfig
+
+
+
+
+
+
+
+ *:*
+
+ META-INF/*.SF
+ META-INF/*.DSA
+ META-INF/*.RSA
+
+
+
+
+
+
+
+
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.34
+ provided
+
+
+
+ 21
+ 21
+ UTF-8
+
+
diff --git a/dsBase/dsBase.iml b/dsBase/dsBase.iml
index 97714aba..546154af 100644
--- a/dsBase/dsBase.iml
+++ b/dsBase/dsBase.iml
@@ -2,7 +2,7 @@
-
+
\ No newline at end of file
diff --git a/dsBase/pom.xml b/dsBase/pom.xml
index 78f9ed05..2513caa5 100644
--- a/dsBase/pom.xml
+++ b/dsBase/pom.xml
@@ -5,6 +5,10 @@
4.0.0
dsBase
1.0
+
+ dsBase
+ jar
+
com.dsideal
dsProject
@@ -18,11 +22,6 @@
-
-
-
-
-
com.jfinal
@@ -238,14 +237,23 @@
activation
1.1.1
-
- com.jfinal
- jfinal-undertow
- 3.6
- compile
-
+
+ dsRes
+
+
+ src/main/java
+
+ **/*.sql
+ **/*.class
+
+
+
+ src/main/resources
+
+
+
org.apache.maven.plugins
@@ -259,6 +267,30 @@
-parameters
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 2.5.5
+
+
+
+ com.dsideal.base.BaseApplication
+
+
+
+ jar-with-dependencies
+
+
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
\ No newline at end of file
diff --git a/dsBase/src/main/java/com/dsideal/base/BaseApplication.java b/dsBase/src/main/java/com/dsideal/base/BaseApplication.java
index d8e05cdc..8108543e 100644
--- a/dsBase/src/main/java/com/dsideal/base/BaseApplication.java
+++ b/dsBase/src/main/java/com/dsideal/base/BaseApplication.java
@@ -17,7 +17,7 @@ import com.dsideal.base.StudentYd.Controller.StudentYdController;
import com.dsideal.base.Teacher.Controller.TeacherController;
import com.dsideal.base.TeacherYd.Controller.TeacherYdController;
import com.dsideal.base.Tools.Controller.excelConvertController;
-import com.dsideal.base.Util.FileUtil;
+import com.dsideal.base.Util.CommonUtil;
import com.dsideal.base.Util.LogBackLogFactory;
import com.dsideal.base.Util.PkUtil;
import com.jfinal.config.*;
@@ -29,9 +29,8 @@ import com.jfinal.plugin.hikaricp.HikariCpPlugin;
import com.jfinal.plugin.redis.RedisPlugin;
import com.jfinal.server.undertow.UndertowServer;
import com.jfinal.template.Engine;
-
-import java.io.File;
-
+import lombok.SneakyThrows;
+import java.util.List;
public class BaseApplication extends JFinalConfig {
public static String getEnvPrefix() {
@@ -117,6 +116,7 @@ public class BaseApplication extends JFinalConfig {
// 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生 SQLException, 缺省:30秒
private long connectionTimeoutMs = 30000;
+ @SneakyThrows
@Override
public void configPlugin(Plugins me) {
HikariCpPlugin masterPlugin = new HikariCpPlugin(PropKit.get("mysql.jdbcUrl"), PropKit.get("mysql.user"),
@@ -145,17 +145,11 @@ public class BaseApplication extends JFinalConfig {
ActiveRecordPlugin slaveArp = new ActiveRecordPlugin("slave", slavePlugin);
slaveArp.setDialect(new MysqlDialect());
- //遍历sql目录下所有的sql文件
- File sqlDir;
- String basePath = BaseApplication.class.getResource("/").getPath();
- sqlDir = new File(basePath + "/Sql");
- File[] sqlFiles = sqlDir.listFiles();
- for (File sqlFile : sqlFiles != null ? sqlFiles : new File[0]) {
- //只加载.sql文件
- if (sqlFile.getName().indexOf(".sql") > 0) {
- masterArp.addSqlTemplate("/Sql/" + sqlFile.getName());
- slaveArp.addSqlTemplate("/Sql/" + sqlFile.getName());
- }
+ //加载所有的sql文件
+ List list = CommonUtil.getAllSql();
+ for (String sqlFile : list) {
+ masterArp.addSqlTemplate(sqlFile);
+ slaveArp.addSqlTemplate(sqlFile);
}
//加载
me.add(masterArp);
@@ -221,16 +215,13 @@ public class BaseApplication extends JFinalConfig {
/**
* 在jfinal启动完成后马上执行
*/
+ @SneakyThrows
@Override
public void onStart() {
//打印 启动Logo
- String path = BaseApplication.class.getClassLoader().getResource("logo.txt").getPath();
- File file = new File(path);
- System.out.println(FileUtil.txt2String(file));
-
+ System.out.println(CommonUtil.txt2String("logo.txt"));
//初始化人员主键序列
PkUtil.InitPersonNumPk();
-
//初始化组织机构主键序列
PkUtil.InitOrgNumPk();
}
diff --git a/dsBase/src/main/java/com/dsideal/base/Util/CommonUtil.java b/dsBase/src/main/java/com/dsideal/base/Util/CommonUtil.java
index a4ad020c..3b3e67ab 100644
--- a/dsBase/src/main/java/com/dsideal/base/Util/CommonUtil.java
+++ b/dsBase/src/main/java/com/dsideal/base/Util/CommonUtil.java
@@ -2,6 +2,8 @@ package com.dsideal.base.Util;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
+import com.dsideal.base.BaseApplication;
+import com.jfinal.kit.PathKit;
import com.jfinal.kit.StrKit;
import com.jfinal.plugin.activerecord.Page;
import com.jfinal.plugin.activerecord.Record;
@@ -11,9 +13,15 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.*;
+import java.net.JarURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.nio.charset.StandardCharsets;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -22,6 +30,84 @@ public class CommonUtil {
//在独立的main函数中,使用下面的方式进行声明logback对象
private static final Logger log = LoggerFactory.getLogger(CommonUtil.class);
+ /**
+ * 判断当前项目是否在jar包中
+ *
+ * @return 是/否
+ */
+ public static boolean isRunInJar() {
+ String resourcePath = "/" + CommonUtil.class.getPackageName().replace(".", "/");
+ URL url = CommonUtil.class.getResource(resourcePath);
+ if (url.getProtocol().equals("jar")) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * 获取文本文件内容,兼容jar包与文件系统两种情况
+ *
+ * @param path 文件路径
+ * @return 文件内容
+ * @throws IOException
+ */
+ public static String txt2String(String path) throws IOException {
+ InputStream is = CommonUtil.class.getClassLoader().getResourceAsStream(path);
+ BufferedInputStream bis = null;
+ StringBuilder sb = new StringBuilder();
+ try {
+ bis = new BufferedInputStream(is);
+ byte[] temp = new byte[1024];
+ int len;
+ while ((len = bis.read(temp)) != -1) {
+ sb.append(new String(temp, 0, len, StandardCharsets.UTF_8));
+ }
+ } finally {
+ if (bis != null) {
+ bis.close();
+ }
+ if (is != null) {
+ is.close();
+ }
+ }
+ return sb.toString();
+ }
+
+ /**
+ * 获取所有sql文件,并返回一个list集合
+ *
+ * @return
+ */
+ public static List getAllSql() throws IOException {
+ List list = new ArrayList<>();
+ if (isRunInJar()) {
+ URL url = BaseApplication.class.getClassLoader().getResource("Sql/");
+ String jarPath = url.toString().substring(0, url.toString().indexOf("!/") + 2);
+ URL jarURL = new URL(jarPath);
+ JarURLConnection jarCon = (JarURLConnection) jarURL.openConnection();
+ JarFile jarFile = jarCon.getJarFile();
+ Enumeration jarEntrys = jarFile.entries();
+ while (jarEntrys.hasMoreElements()) {
+ JarEntry entry = jarEntrys.nextElement();
+ String name = entry.getName();
+ if (name.startsWith("Sql/") && !entry.isDirectory()) {
+ list.add(name);
+ }
+ }
+ } else {//如果运行在文件系统中,直接加载sql文件
+ //遍历sql目录下所有的sql文件
+ File sqlDir;
+ String basePath = PathKit.getRootClassPath();
+ sqlDir = new File(basePath + "/Sql");
+ File[] sqlFiles = sqlDir.listFiles();
+ for (File sqlFile : sqlFiles != null ? sqlFiles : new File[0]) {
+ if (sqlFile.getName().indexOf(".sql") > 0) {//只加载.sql文件
+ list.add("Sql/"+sqlFile.getName());
+ }
+ }
+ }
+ return list;
+ }
/**
* 功能:删除指定目录下所有的文件
diff --git a/dsBase/src/main/resource/ExcelExportTemplate/excelTemp/占位文件.txt b/dsBase/src/main/resources/ExcelExportTemplate/excelTemp/占位文件.txt
similarity index 100%
rename from dsBase/src/main/resource/ExcelExportTemplate/excelTemp/占位文件.txt
rename to dsBase/src/main/resources/ExcelExportTemplate/excelTemp/占位文件.txt
diff --git a/dsBase/src/main/resource/ExcelExportTemplate/getPrincipalshipThirdParty.json b/dsBase/src/main/resources/ExcelExportTemplate/getPrincipalshipThirdParty.json
similarity index 100%
rename from dsBase/src/main/resource/ExcelExportTemplate/getPrincipalshipThirdParty.json
rename to dsBase/src/main/resources/ExcelExportTemplate/getPrincipalshipThirdParty.json
diff --git a/dsBase/src/main/resource/ExcelExportTemplate/getPrintAreaBureau.json b/dsBase/src/main/resources/ExcelExportTemplate/getPrintAreaBureau.json
similarity index 100%
rename from dsBase/src/main/resource/ExcelExportTemplate/getPrintAreaBureau.json
rename to dsBase/src/main/resources/ExcelExportTemplate/getPrintAreaBureau.json
diff --git a/dsBase/src/main/resource/ExcelExportTemplate/getPrintAreaManager.json b/dsBase/src/main/resources/ExcelExportTemplate/getPrintAreaManager.json
similarity index 100%
rename from dsBase/src/main/resource/ExcelExportTemplate/getPrintAreaManager.json
rename to dsBase/src/main/resources/ExcelExportTemplate/getPrintAreaManager.json
diff --git a/dsBase/src/main/resource/ExcelExportTemplate/getPrintCityBureau.json b/dsBase/src/main/resources/ExcelExportTemplate/getPrintCityBureau.json
similarity index 100%
rename from dsBase/src/main/resource/ExcelExportTemplate/getPrintCityBureau.json
rename to dsBase/src/main/resources/ExcelExportTemplate/getPrintCityBureau.json
diff --git a/dsBase/src/main/resource/ExcelExportTemplate/getPrintCityManager.json b/dsBase/src/main/resources/ExcelExportTemplate/getPrintCityManager.json
similarity index 100%
rename from dsBase/src/main/resource/ExcelExportTemplate/getPrintCityManager.json
rename to dsBase/src/main/resources/ExcelExportTemplate/getPrintCityManager.json
diff --git a/dsBase/src/main/resource/ExcelExportTemplate/getPrintParent.json b/dsBase/src/main/resources/ExcelExportTemplate/getPrintParent.json
similarity index 100%
rename from dsBase/src/main/resource/ExcelExportTemplate/getPrintParent.json
rename to dsBase/src/main/resources/ExcelExportTemplate/getPrintParent.json
diff --git a/dsBase/src/main/resource/ExcelExportTemplate/getPrintStudent.json b/dsBase/src/main/resources/ExcelExportTemplate/getPrintStudent.json
similarity index 100%
rename from dsBase/src/main/resource/ExcelExportTemplate/getPrintStudent.json
rename to dsBase/src/main/resources/ExcelExportTemplate/getPrintStudent.json
diff --git a/dsBase/src/main/resource/ExcelExportTemplate/getTeacherListByBureauId.json b/dsBase/src/main/resources/ExcelExportTemplate/getTeacherListByBureauId.json
similarity index 100%
rename from dsBase/src/main/resource/ExcelExportTemplate/getTeacherListByBureauId.json
rename to dsBase/src/main/resources/ExcelExportTemplate/getTeacherListByBureauId.json
diff --git a/dsBase/src/main/resource/ExcelImportTemplate/Student.json b/dsBase/src/main/resources/ExcelImportTemplate/Student.json
similarity index 100%
rename from dsBase/src/main/resource/ExcelImportTemplate/Student.json
rename to dsBase/src/main/resources/ExcelImportTemplate/Student.json
diff --git a/dsBase/src/main/resource/ExcelImportTemplate/Student.xls b/dsBase/src/main/resources/ExcelImportTemplate/Student.xls
similarity index 100%
rename from dsBase/src/main/resource/ExcelImportTemplate/Student.xls
rename to dsBase/src/main/resources/ExcelImportTemplate/Student.xls
diff --git a/dsBase/src/main/resource/ExcelImportTemplate/StudentSample.xls b/dsBase/src/main/resources/ExcelImportTemplate/StudentSample.xls
similarity index 100%
rename from dsBase/src/main/resource/ExcelImportTemplate/StudentSample.xls
rename to dsBase/src/main/resources/ExcelImportTemplate/StudentSample.xls
diff --git a/dsBase/src/main/resource/ExcelImportTemplate/Teacher.json b/dsBase/src/main/resources/ExcelImportTemplate/Teacher.json
similarity index 100%
rename from dsBase/src/main/resource/ExcelImportTemplate/Teacher.json
rename to dsBase/src/main/resources/ExcelImportTemplate/Teacher.json
diff --git a/dsBase/src/main/resource/ExcelImportTemplate/Teacher.xls b/dsBase/src/main/resources/ExcelImportTemplate/Teacher.xls
similarity index 100%
rename from dsBase/src/main/resource/ExcelImportTemplate/Teacher.xls
rename to dsBase/src/main/resources/ExcelImportTemplate/Teacher.xls
diff --git a/dsBase/src/main/resource/ExcelImportTemplate/TeacherSample.xls b/dsBase/src/main/resources/ExcelImportTemplate/TeacherSample.xls
similarity index 100%
rename from dsBase/src/main/resource/ExcelImportTemplate/TeacherSample.xls
rename to dsBase/src/main/resources/ExcelImportTemplate/TeacherSample.xls
diff --git a/dsBase/src/main/resource/SetMinioDownload.json b/dsBase/src/main/resources/SetMinioDownload.json
similarity index 100%
rename from dsBase/src/main/resource/SetMinioDownload.json
rename to dsBase/src/main/resources/SetMinioDownload.json
diff --git a/dsBase/src/main/resource/Sql/ClearDataBase.sql b/dsBase/src/main/resources/Sql/ClearDataBase.sql
similarity index 100%
rename from dsBase/src/main/resource/Sql/ClearDataBase.sql
rename to dsBase/src/main/resources/Sql/ClearDataBase.sql
diff --git a/dsBase/src/main/resource/Sql/YltWxGzh.sql b/dsBase/src/main/resources/Sql/YltWxGzh.sql
similarity index 100%
rename from dsBase/src/main/resource/Sql/YltWxGzh.sql
rename to dsBase/src/main/resources/Sql/YltWxGzh.sql
diff --git a/dsBase/src/main/resource/Sql/app.sql b/dsBase/src/main/resources/Sql/app.sql
similarity index 100%
rename from dsBase/src/main/resource/Sql/app.sql
rename to dsBase/src/main/resources/Sql/app.sql
diff --git a/dsBase/src/main/resource/Sql/base.sql b/dsBase/src/main/resources/Sql/base.sql
similarity index 100%
rename from dsBase/src/main/resource/Sql/base.sql
rename to dsBase/src/main/resources/Sql/base.sql
diff --git a/dsBase/src/main/resource/Sql/class.sql b/dsBase/src/main/resources/Sql/class.sql
similarity index 100%
rename from dsBase/src/main/resource/Sql/class.sql
rename to dsBase/src/main/resources/Sql/class.sql
diff --git a/dsBase/src/main/resource/Sql/dm.sql b/dsBase/src/main/resources/Sql/dm.sql
similarity index 100%
rename from dsBase/src/main/resource/Sql/dm.sql
rename to dsBase/src/main/resources/Sql/dm.sql
diff --git a/dsBase/src/main/resource/Sql/global.sql b/dsBase/src/main/resources/Sql/global.sql
similarity index 100%
rename from dsBase/src/main/resource/Sql/global.sql
rename to dsBase/src/main/resources/Sql/global.sql
diff --git a/dsBase/src/main/resource/Sql/graduationAction.sql b/dsBase/src/main/resources/Sql/graduationAction.sql
similarity index 100%
rename from dsBase/src/main/resource/Sql/graduationAction.sql
rename to dsBase/src/main/resources/Sql/graduationAction.sql
diff --git a/dsBase/src/main/resource/Sql/gtzz.sql b/dsBase/src/main/resources/Sql/gtzz.sql
similarity index 100%
rename from dsBase/src/main/resource/Sql/gtzz.sql
rename to dsBase/src/main/resources/Sql/gtzz.sql
diff --git a/dsBase/src/main/resource/Sql/loginPerson.sql b/dsBase/src/main/resources/Sql/loginPerson.sql
similarity index 100%
rename from dsBase/src/main/resource/Sql/loginPerson.sql
rename to dsBase/src/main/resources/Sql/loginPerson.sql
diff --git a/dsBase/src/main/resource/Sql/menu.sql b/dsBase/src/main/resources/Sql/menu.sql
similarity index 100%
rename from dsBase/src/main/resource/Sql/menu.sql
rename to dsBase/src/main/resources/Sql/menu.sql
diff --git a/dsBase/src/main/resource/Sql/organization.sql b/dsBase/src/main/resources/Sql/organization.sql
similarity index 100%
rename from dsBase/src/main/resource/Sql/organization.sql
rename to dsBase/src/main/resources/Sql/organization.sql
diff --git a/dsBase/src/main/resource/Sql/student.sql b/dsBase/src/main/resources/Sql/student.sql
similarity index 100%
rename from dsBase/src/main/resource/Sql/student.sql
rename to dsBase/src/main/resources/Sql/student.sql
diff --git a/dsBase/src/main/resource/Sql/studentYd.sql b/dsBase/src/main/resources/Sql/studentYd.sql
similarity index 100%
rename from dsBase/src/main/resource/Sql/studentYd.sql
rename to dsBase/src/main/resources/Sql/studentYd.sql
diff --git a/dsBase/src/main/resource/Sql/teacher.sql b/dsBase/src/main/resources/Sql/teacher.sql
similarity index 100%
rename from dsBase/src/main/resource/Sql/teacher.sql
rename to dsBase/src/main/resources/Sql/teacher.sql
diff --git a/dsBase/src/main/resource/Sql/teacherYd.sql b/dsBase/src/main/resources/Sql/teacherYd.sql
similarity index 100%
rename from dsBase/src/main/resource/Sql/teacherYd.sql
rename to dsBase/src/main/resources/Sql/teacherYd.sql
diff --git a/dsBase/src/main/resource/application_ali.yaml b/dsBase/src/main/resources/application_ali.yaml
similarity index 100%
rename from dsBase/src/main/resource/application_ali.yaml
rename to dsBase/src/main/resources/application_ali.yaml
diff --git a/dsBase/src/main/resource/application_dev.yaml b/dsBase/src/main/resources/application_dev.yaml
similarity index 100%
rename from dsBase/src/main/resource/application_dev.yaml
rename to dsBase/src/main/resources/application_dev.yaml
diff --git a/dsBase/src/main/resource/application_pro.yaml b/dsBase/src/main/resources/application_pro.yaml
similarity index 100%
rename from dsBase/src/main/resource/application_pro.yaml
rename to dsBase/src/main/resources/application_pro.yaml
diff --git a/dsBase/src/main/resource/cron4j.properties b/dsBase/src/main/resources/cron4j.properties
similarity index 100%
rename from dsBase/src/main/resource/cron4j.properties
rename to dsBase/src/main/resources/cron4j.properties
diff --git a/dsBase/src/main/resource/log4j.properties b/dsBase/src/main/resources/log4j.properties
similarity index 100%
rename from dsBase/src/main/resource/log4j.properties
rename to dsBase/src/main/resources/log4j.properties
diff --git a/dsBase/src/main/resource/logback.xml b/dsBase/src/main/resources/logback.xml
similarity index 100%
rename from dsBase/src/main/resource/logback.xml
rename to dsBase/src/main/resources/logback.xml
diff --git a/dsBase/src/main/resource/logo.txt b/dsBase/src/main/resources/logo.txt
similarity index 100%
rename from dsBase/src/main/resource/logo.txt
rename to dsBase/src/main/resources/logo.txt
diff --git a/dsBase/src/main/resource/undertow_dev.properties b/dsBase/src/main/resources/undertow_dev.properties
similarity index 100%
rename from dsBase/src/main/resource/undertow_dev.properties
rename to dsBase/src/main/resources/undertow_dev.properties
diff --git a/dsBase/src/main/resource/undertow_pro.properties b/dsBase/src/main/resources/undertow_pro.properties
similarity index 100%
rename from dsBase/src/main/resource/undertow_pro.properties
rename to dsBase/src/main/resources/undertow_pro.properties