diff --git a/README.md b/README.md
index 447ce98..a0b4643 100644
--- a/README.md
+++ b/README.md
@@ -53,7 +53,7 @@
```
2. 运行
```bash
- mvn clean javafx:run
+ mvn clean javafx:run -Pdev
```
#### 打包
@@ -64,7 +64,7 @@
```
2. 运行
```bash
- mvn clean package
+ mvn clean package -Pbuild
```
### 可能会用到
diff --git a/pom.xml b/pom.xml
index 322445c..0d34ca3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
cn.octopusyan
dmt
- 0.0.2
+ 0.1.2
dmt
@@ -172,14 +172,41 @@
-
-
-
- src/main/resources
- true
-
-
+
+
+ dev
+
+ -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
+
+
+
+
+ src/main/resources
+ true
+
+
+
+
+
+ build
+
+
+
+
+
+
+ src/main/resources
+ true
+
+ bin/
+
+
+
+
+
+
+
org.apache.maven.plugins
@@ -233,7 +260,7 @@
-
+
diff --git a/src/main/java/cn/octopusyan/dmt/common/config/Context.java b/src/main/java/cn/octopusyan/dmt/common/config/Context.java
index 8874323..4f17279 100644
--- a/src/main/java/cn/octopusyan/dmt/common/config/Context.java
+++ b/src/main/java/cn/octopusyan/dmt/common/config/Context.java
@@ -16,6 +16,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
+import java.lang.management.ManagementFactory;
+import java.lang.management.RuntimeMXBean;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
@@ -39,11 +41,15 @@ public class Context {
@Getter
private static final Map> controllers = new HashMap<>();
-
private Context() {
throw new IllegalStateException("Utility class");
}
+ public static boolean isDebugMode() {
+ RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
+ return runtimeMXBean.getInputArguments().toString().contains("-agentlib:jdwp");
+ }
+
// 获取控制工厂
public static Callback, Object> getControlFactory() {
return type -> {
diff --git a/src/main/java/cn/octopusyan/dmt/utils/PBOUtil.java b/src/main/java/cn/octopusyan/dmt/utils/PBOUtil.java
index a283305..86d556d 100644
--- a/src/main/java/cn/octopusyan/dmt/utils/PBOUtil.java
+++ b/src/main/java/cn/octopusyan/dmt/utils/PBOUtil.java
@@ -1,12 +1,15 @@
package cn.octopusyan.dmt.utils;
import cn.octopusyan.dmt.common.config.Constants;
+import cn.octopusyan.dmt.common.config.Context;
import cn.octopusyan.dmt.common.util.ProcessesUtil;
import cn.octopusyan.dmt.model.WordItem;
import cn.octopusyan.dmt.view.ConsoleLog;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.LineIterator;
import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
@@ -24,6 +27,7 @@ import java.util.stream.Collectors;
* @author octopus_yan
*/
public class PBOUtil {
+ private static final Logger log = LoggerFactory.getLogger(PBOUtil.class);
public static final ConsoleLog consoleLog = ConsoleLog.getInstance(PBOUtil.class);
private static final ProcessesUtil processesUtil = ProcessesUtil.init(Constants.BIN_DIR_PATH);
@@ -42,14 +46,20 @@ public class PBOUtil {
public static void init() {
-
- String srcFilePath = Objects.requireNonNull(PBOUtil.class.getResource("/bin")).getPath();
try {
File destDir = new File(Constants.BIN_DIR_PATH);
+
+ if (destDir.exists()) return;
+
+ if (!Context.isDebugMode())
+ throw new RuntimeException("Util 初始化失败");
+
+ String srcFilePath = Resources.getResource("bin").getPath();
FileUtils.forceMkdir(destDir);
FileUtils.copyDirectory(new File(srcFilePath), destDir);
+
} catch (IOException e) {
- consoleLog.error("Util 初始化失败", e);
+ log.error("Util 初始化失败", e);
}
}
diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java
index 8369d15..ece8532 100644
--- a/src/main/java/module-info.java
+++ b/src/main/java/module-info.java
@@ -17,6 +17,7 @@ module cn.octopusyan.dmt {
requires java.prefs;
requires org.kordamp.ikonli.javafx;
requires org.kordamp.ikonli.feather;
+ requires java.management;
exports cn.octopusyan.dmt;
exports cn.octopusyan.dmt.model to com.fasterxml.jackson.databind;