Skip to content

Commit cc86211

Browse files
authored
Merge pull request #18 from Z233/main
fix mirai-console moves file error
2 parents d049ad0 + 413d9f7 commit cc86211

7 files changed

Lines changed: 22 additions & 13 deletions

File tree

build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ plugins {
22
val kotlinVersion = "1.4.30"
33
kotlin("jvm") version kotlinVersion
44
kotlin("plugin.serialization") version kotlinVersion
5-
id("net.mamoe.mirai-console") version "2.6.7"
5+
id("net.mamoe.mirai-console") version "2.9.2"
66
}
77

88
group = "com.billyang"
99
version = "1.1.1"
1010

1111
repositories {
12-
maven{ url =uri("https://maven.aliyun.com/nexus/content/groups/public/")}
12+
maven("https://maven.aliyun.com/repository/public")
1313
jcenter()
1414
mavenCentral()
1515
mavenLocal()

src/main/java/com/billyang/entrylib/Database/Database.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.billyang.entrylib.Database;
22

3+
import com.billyang.entrylib.EntryLib;
34
import com.billyang.entrylib.Subgroup.Subgroup;
45

56
import java.io.File;
@@ -22,8 +23,9 @@ public class Database {
2223
* @return 成功状态
2324
*/
2425
public boolean init() {
25-
File file = new File("data/EntryLib/databases/");
26+
File file = new File(EntryLib.DATABASES_FOLDER);
2627
if(!file.exists()) {
28+
EntryLib.INSTANCE.getLogger().info("创建数据库目录");
2729
file.mkdirs();
2830
}
2931

@@ -117,7 +119,7 @@ public boolean connect(String database) {
117119
* @return 连接情况
118120
*/
119121
public boolean connect(long groupId) {
120-
return connect("jdbc:sqlite:data/EntryLib/databases/" + groupId + ".db");
122+
return connect("jdbc:sqlite:" + EntryLib.DATABASES_FOLDER + groupId + ".db");
121123
}
122124

123125
/**
@@ -127,7 +129,7 @@ public boolean connect(long groupId) {
127129
* @see Subgroup
128130
*/
129131
public boolean connect(Subgroup subgroup) {
130-
return connect("jdbc:sqlite:data/EntryLib/databases/" + subgroup.getName() + ".db");
132+
return connect("jdbc:sqlite:" + EntryLib.DATABASES_FOLDER + subgroup.getName() + ".db");
131133
}
132134

133135
/**

src/main/java/com/billyang/entrylib/Database/DatabaseAutoArranger.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
* 清理没有用过的图片
1717
*/
1818
class ImageCleaner implements Runnable {
19+
1920
private Thread t;
2021

2122
EntryLib entrylib;
@@ -35,7 +36,7 @@ class ImageCleaner implements Runnable {
3536
* 线程运行方法
3637
*/
3738
public void run() {
38-
File imageFolder = new File("data/EntryLib/images/");
39+
File imageFolder = new File(EntryLib.IMAGES_FOLDER);
3940
if(imageFolder.exists()) {
4041
List<File> tempList = Arrays.asList(imageFolder.listFiles());
4142
List<File> imageFiles = new ArrayList(tempList);
@@ -113,7 +114,7 @@ public boolean exists(Statement stmt, String table) {
113114
boolean connect(String database) {
114115
try {
115116
Class.forName("org.sqlite.JDBC");
116-
c = DriverManager.getConnection("jdbc:sqlite:data/EntryLib/databases/" + database);
117+
c = DriverManager.getConnection("jdbc:sqlite:" + EntryLib.DATABASES_FOLDER + database);
117118

118119
stmt = c.createStatement();
119120
if(!exists(stmt, "__MAIN_TABLE")) return false;
@@ -315,7 +316,7 @@ public List<File> Text2ImageFile(String text) {
315316
end = mt.end();
316317

317318
String imageId = ImageParser.MiraiCode2Id(text.substring(start, end));
318-
File file = new File("data/EntryLib/images/", imageId);
319+
File file = new File(EntryLib.IMAGES_FOLDER, imageId);
319320

320321
if(file.exists())list.add(file);
321322
}
@@ -365,7 +366,7 @@ void listImage(String fileName) {
365366
*/
366367
@Override
367368
public void run() {
368-
File file = new File("data/EntryLib/databases/");
369+
File file = new File(EntryLib.DATABASES_FOLDER);
369370
if(!file.exists()) return;
370371

371372
File[] files = file.listFiles();

src/main/java/com/billyang/entrylib/Database/DatabaseUpdater.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ public boolean v0tov1() {
106106
* 数据库升级任务
107107
*/
108108
public void update() {
109-
File file = new File("data/EntryLib/databases/");
109+
File file = new File(EntryLib.DATABASES_FOLDER);
110110
if(!file.exists()) return;
111111

112112
File[] files = file.listFiles();
@@ -121,7 +121,7 @@ public void update() {
121121
String fileName = dbFile.getName();
122122
if(!fileName.endsWith(".db")) continue; //保证文件是数据库文件
123123

124-
if(!database.connect("jdbc:sqlite:data/EntryLib/databases/" + fileName)) {
124+
if(!database.connect("jdbc:sqlite:" + EntryLib.DATABASES_FOLDER + fileName)) {
125125
entrylib.getLogger().warning("无法升级数据库" + fileName + ":数据库连接失败!");
126126
database.close();
127127
continue;

src/main/java/com/billyang/entrylib/EntryLib.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636
*/
3737
public final class EntryLib extends JavaPlugin {
3838
public static final EntryLib INSTANCE = new EntryLib();
39+
public static final String IMAGES_FOLDER = INSTANCE.getDataFolder().getAbsolutePath() + "/images/";
40+
public static final String DATABASES_FOLDER = INSTANCE.getDataFolder().getAbsolutePath() + "/databases/";
3941
private EntryLib() {
4042
super(new JvmPluginDescriptionBuilder("EntryLib", "1.1.1")
4143
.id("com.billyang.entrylib")
@@ -469,6 +471,8 @@ public String getVersion() {
469471
@Override
470472
public void onEnable() {
471473

474+
pl.init();
475+
472476
String DataFolderPath = getDataFolder().getAbsolutePath();
473477
getLogger().info("配置文件目录:" + DataFolderPath);
474478

src/main/java/com/billyang/entrylib/EntryPackage/PackageLoader.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ public void init() {
3131
* 自动初始化
3232
*/
3333
public PackageLoader() {
34-
init();
34+
// 自动初始化会导致数据文件被占用,mirai-console 无法自动迁移
35+
// init();
3536
}
3637

3738
/**

src/main/java/com/billyang/entrylib/ui/FloatingWindow.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.billyang.entrylib.ui;
22

33
import com.billyang.entrylib.Config.UserIO;
4+
import com.billyang.entrylib.Database.Database;
45
import com.billyang.entrylib.EntryLib;
56
import com.billyang.entrylib.Matcher.MatchLoader;
67

@@ -344,7 +345,7 @@ void addPackageLeadingPage() {
344345
groupId = 0;
345346
}
346347

347-
File database = new File("data/EntryLib/databases/", groupId + ".db");
348+
File database = new File(EntryLib.DATABASES_FOLDER, groupId + ".db");
348349
if(!database.exists()) {
349350
JOptionPane.showMessageDialog(
350351
panel, "目标群数据库不存在", "错误", JOptionPane.ERROR_MESSAGE

0 commit comments

Comments
 (0)