feat(plugins): 实现插件系统并优化加载过程

- 新增 BoxClassLoader、IClassTransformer、LoadingCorePlugin 等核心类
- 重构 Main 类,采用多线程和 ProgressBarManager 优化加载过程
- 完善 PluginLoader 类,支持核心插件和字节码转换器的加载- 重定向系统输出到 Log4j2,提高日志管理的灵活性
This commit is contained in:
tzdwindows 7
2025-02-10 15:32:22 +08:00
parent a8f9611db4
commit bf654b7ea3
9 changed files with 349 additions and 119 deletions

View File

@@ -24,11 +24,8 @@ repositories {
dependencies {
testImplementation platform('org.junit:junit-bom:5.10.0')
testImplementation 'org.junit.jupiter:junit-jupiter'
// https://mvnrepository.com/artifact/org.commonmark/commonmark
implementation 'org.commonmark:commonmark:0.24.0'
// https://mvnrepository.com/artifact/org.commonjava.googlecode.markdown4j/markdown4j
implementation 'org.commonjava.googlecode.markdown4j:markdown4j:2.2-cj-1.1'
// https://mvnrepository.com/artifact/com.google.code.gson/gson
implementation 'com.google.code.gson:gson:2.8.9'
implementation 'org.apache.logging.log4j:log4j-api:2.20.0'
@@ -42,16 +39,19 @@ dependencies {
implementation 'org.ow2.asm:asm-tree:7.1'
}
application {
mainClass = 'com.axis.innovators.box.Main'
}
jar {
manifest {
attributes 'Main-Class': 'com.axis.innovators.box.Main'
}
}
application {
mainClass = 'com.axis.innovators.box.Main'
applicationDefaultJvmArgs = [
"-Djava.system.class.loader=com.axis.innovators.box.plugins.BoxClassLoader"
]
}
test {
useJUnitPlatform()
}