快速开始
本页展示一个最小 Kotlin/JVM 应用。示例使用仓库当前版本 1.0.0-DEV12。
1. 添加仓库与依赖
kotlin
repositories {
mavenCentral()
maven("https://maven.cnb.cool/IceCream/maven/-/packages/")
}
dependencies {
implementation("com.IceCreamQAQ.Rain:application:1.0.0-DEV12")
implementation("com.IceCreamQAQ.Rain:event:1.0.0-DEV12")
implementation("com.IceCreamQAQ.Rain:job:1.0.0-DEV12")
}application 会传递引入 DI、类加载器与 Hook。其他业务模块按需添加。
2. 创建入口
kotlin
package example
import rain.application.FullStackApplicationLauncher
fun main() {
FullStackApplicationLauncher.launch()
}FullStackApplicationLauncher 会创建支持字节码转换的 AppClassloader,然后启动应用。若不需要类增强,可调用 BasicApplicationLauncher.launch()。
3. 配置扫描包
创建 src/main/resources/conf/application.properties:
properties
rain.scanPackages=example完整启动器通常会从调用位置推断启动包并追加到扫描列表;显式配置可让项目结构更清晰。
4. 声明应用服务
kotlin
package example
import rain.api.loader.ApplicationService
class GreetingService : ApplicationService {
override fun start() {
println("Rain application started")
}
override fun stop() {
println("Rain application stopping")
}
}实现 ApplicationService 的 Bean 会在应用启动阶段按 priority() 从小到大启动。JVM 关闭时,Rain 会触发停止流程。
TIP
Rain 的类扫描以配置中的 rain.scanPackages 为边界。Bean、监听器和任务类必须位于扫描范围内。