diff --git a/pom.xml b/pom.xml
index 3db64c6..8453329 100644
--- a/pom.xml
+++ b/pom.xml
@@ -55,14 +55,10 @@
no-natives
- org.slf4j
- slf4j-api
- 2.0.13
-
-
- org.slf4j
- slf4j-simple
- 2.0.13
+ ch.qos.logback
+ logback-classic
+ 1.2.13
+
io.github.eduramiba
@@ -75,6 +71,12 @@
webcam-capture
0.3.12
+
+
+ io.github.sanyarnd
+ app-locker
+ 1.2.0
+
diff --git a/src/main/java/org/aohe/Main.java b/src/main/java/org/aohe/Main.java
index c73ae3f..b13f548 100644
--- a/src/main/java/org/aohe/Main.java
+++ b/src/main/java/org/aohe/Main.java
@@ -1,6 +1,7 @@
package org.aohe;
import com.formdev.flatlaf.FlatDarculaLaf;
+import io.github.sanyarnd.applocker.AppLocker;
import lombok.extern.slf4j.Slf4j;
import org.aohe.constant.SocketEnum;
import org.aohe.daemon.WatchDog;
@@ -15,8 +16,19 @@ import org.aohe.constant.Control;
@Slf4j
public class Main {
+ private static final String JAVA_IO_TMPDIR = System.getProperty("java.io.tmpdir");
+
public static void main(String[] args) throws Exception {
+ AppLocker locker = AppLocker.create("aoheSaneServiceLock").build();
UIManager.setLookAndFeel(new FlatDarculaLaf());
+ try {
+ locker.lock();
+ }catch (Exception e){
+ JOptionPane.showMessageDialog(null,"程序启动失败,已有实例在运行!"
+ ,"AoHe Scan Program",JOptionPane.WARNING_MESSAGE); //消息对话框
+ log.error("程序已被其他应用占用");
+ System.exit(0);
+ }
log.info("启动成功");
SocketUtils.start(SocketEnum.CAM_SOCKET);
Control.WEBCAM_SHOW_TASK = new WebcamShowTask();
@@ -26,4 +38,8 @@ public class Main {
watchDog.start();
TrayFrameUtf8.initSystemTrayUTF8();
}
+
+ private void logLocking(String message) {
+ log.info("{}", message);
+ }
}
\ No newline at end of file
diff --git a/src/main/java/org/aohe/show/TrayFrameUtf8.java b/src/main/java/org/aohe/show/TrayFrameUtf8.java
index 1bda429..6dbf00c 100644
--- a/src/main/java/org/aohe/show/TrayFrameUtf8.java
+++ b/src/main/java/org/aohe/show/TrayFrameUtf8.java
@@ -51,13 +51,13 @@ public class TrayFrameUtf8 {
// JMenuItem exit = new JMenuItem(getUTF8String("退出"));
JMenuItem exit = new JMenuItem("退出");
exit.addActionListener(e -> {
- log.info("点击了退出选项");
+ //log.info("点击了退出选项");
System.exit(0);
});
// JMenuItem showMainFrame = new JMenuItem(getUTF8String("显示主窗体"));
JMenuItem showMainFrame = new JMenuItem("关于");
showMainFrame.addActionListener(e -> {
- log.info("关于系统");
+ //log.info("关于系统");
JOptionPane.showMessageDialog(null, "AoHe 的扫描托盘程序");
//显示窗口
});
@@ -90,9 +90,7 @@ public class TrayFrameUtf8 {
jPopupMenu.add(showMainFrame);
jPopupMenu.add(exit);
- URL url = ResourceUtil.getResource("../res/ah.png");
- String trayPng = "../res/ah.png";
- log.info("file:{}", url.getFile());
+ URL url = ResourceUtil.getResource("ah.png");
Image image = Toolkit.getDefaultToolkit().getImage(url.getFile());
// 创建系统托盘图标
TrayIcon trayIcon = new TrayIcon(image, "Scan Program For AH");
diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml
new file mode 100644
index 0000000..d1bbc4b
--- /dev/null
+++ b/src/main/resources/logback.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+ ${log.pattern}
+
+
+
+
+
+
+
+
+ ${log.path}/ScanService.%d{yyyy-MM-dd}.log
+
+ 60
+ 20GB
+
+
+ ${log.pattern}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/logbcak.xml b/src/main/resources/logbcak.xml
deleted file mode 100644
index c2c222a..0000000
--- a/src/main/resources/logbcak.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-
-
-
-
-
-
- ${LOG_CONTEXT_NAME}
-
-
-
-
-
- %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{56}.%method:%L - %msg%n
- utf-8
-
-
- INFO
-
-
-
-
-
- true
-
-
- ${LOG_HOME}/%d{yyyy-MM-dd}/info/aohe.scan.info.%d{yyyy-MM-dd-HH}.%i.log
-
-
-
- 30
-
-
- 10MB
-
-
-
-
- %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{56}.%method:%L - %msg%n
- utf-8
-
-
-
- INFO
- ACCEPT
- DENY
-
-
-
-
-
-
-
-
- ERROR
- ACCEPT
- DENY
-
-
-
-
-
-
-
- WARN
- ACCEPT
- DENY
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file