如何在dokka fatjar中使用多源码路径生成文档?
解决Dokka 0.9.17多源码路径文档生成失败的问题
嘿,我碰到过类似的Dokka老版本的问题,你这情况大概率是0.9.17对多源码路径的参数格式不支持冒号拼接导致的,给你几个靠谱的解决方向:
1. 拆分多个源码路径为独立参数
Dokka 0.9.17的CLI并不支持用冒号把多个源码路径拼接成一个参数传递,正确的做法是每个源码目录单独作为一个独立的命令行参数。把你的命令改成这样试试:
java -jar <path_to_jar>/dokka-fatjar-0.9.17.jar /<absolute_path1>/src /<absolute_path2>/src -output docs -classpath <class_path>
这个是老版本Dokka处理多源码目录的标准方式,它会逐个识别每个路径参数对应的源码文件夹。
2. 检查路径格式与系统兼容性
如果你的操作系统是Windows,冒号是盘符的分隔符,用它来拼接路径肯定会解析出错;就算是Linux/macOS,0.9.17版本也没适配这种冒号分隔的格式。另外,如果路径里包含空格或者特殊字符,记得用双引号把路径包裹起来,避免解析异常。
3. 确认classpath包含依赖模块的编译产物
你提到classpath是一致的,但要确保它真的包含了<absolute_path2>对应模块的编译后class文件或jar包。Dokka需要依赖模块的二进制文件才能解析跨模块的引用关系,光有源码路径是不够的。如果依赖模块还没编译,先执行该模块的构建命令,把编译产物加入到classpath中。
额外建议
Dokka 0.9.17是比较老旧的版本了,现在官方已经迭代到1.x系列,新版本对多模块文档生成的支持更加完善,甚至提供了专门的多模块聚合功能。如果上述方法都无法解决问题,考虑升级到较新的Dokka版本,能避开不少老版本的坑。
内容的提问来源于stack exchange,提问作者fuzzyweapon
相关产品推荐
相关产品推荐

