[kotlin项目中使用luban配置] 1.java + kotlin共存

1)新建一个kt_json的项目

2)把java_json下的gen.bat复制到项目下,修改好导出json和代码的目录

复制代码
set WORKSPACE=..\..

set LUBAN_DLL=%WORKSPACE%\Tools\Luban\Luban.dll
set CONF_ROOT=%WORKSPACE%\DataTables

dotnet %LUBAN_DLL% ^
    -t all ^
    -c java-json ^
    -d json  ^
    --conf %CONF_ROOT%\luban.conf ^
    -x outputCodeDir=src\main\java\cfg ^
    -x outputDataDir=json ^
    -x pathValidator.rootDir=%WORKSPACE%\Projects\Csharp_Unity_bin ^
    -x l10n.provider=default ^
    -x l10n.textFile.path=*@%WORKSPACE%\DataTables\Datas\l10n\texts.json ^
    -x l10n.textFile.keyFieldName=key

pause

重点!!! java的代码必须在 src/main/java 目录下!!!

3)加载luban配置文件

复制代码
import cfg.Tables
import cfg.Tables.IJsonLoader
import com.google.gson.JsonParser
import java.nio.file.Files
import java.nio.file.Paths

/*
加载luban配置文件
 */
object TableManager {
    lateinit var tables: Tables

    fun init() {
        tables = Tables(IJsonLoader { file: String? ->
            JsonParser.parseString(
                String(Files.readAllBytes(Paths.get("json", file + ".json")), charset("UTF-8"))
            )
        })
    }
}

4)写kotlin测试用例

运行结果:

复制代码
== run == 1101001101
== x7 == [1, 2, 3, 4]

一切ok!!!

相关推荐
alexhilton17 小时前
让架构边界变成可执行的测试
android·kotlin·android jetpack
数据治理自习室21 小时前
AI 应用评测体系(GraphRAG)
android·大数据·人工智能·kotlin
名剑走天下2 天前
Android 面试题大全
android·kotlin
chjif2 天前
Android 设备管控开发实战:自定义 Launcher 如何只显示指定 App?
android·kotlin
非凡ghost2 天前
用 Kotlin 和 Jetpack Compose 重写的安卓视频播放器,原生体验有多流畅?
android·java·kotlin·音视频·软件需求
名剑走天下3 天前
android 面试题
kotlin
蜡台3 天前
Jetpack Compose 稳定性、重组优化(Stable / @NonRestartableComposable)
android·kotlin·compose·jepack
JMchen1233 天前
Jetpack 内核实战(十):实战(下)——编辑页、全局设置与内存泄漏排查
kotlin·内存泄漏·android 实战·datastore 设置·jetpack 项目优化·编辑页开发
雨白4 天前
Kotlin 泛型基础:“万能魔法盒”的诞生
kotlin
小小测试开发4 天前
RAG评测:把忠实度、检索命中率、噪声敏感度做成可回归的流水线
人工智能·数据挖掘·回归·kotlin