编译失败
yfdyh000 opened this issue · 5 comments
yfdyh000 commented
近日偶然发现这个项目,很感兴趣,但自行编译的尝试没有成功。手动下载凑齐了IDE中报告缺失的类库。目前出现下列错误:
B4J 版本号: 9.30
解析代码。 (0.63s)
Java 版本号: 11
Building folders structure. (0.21s)
编译代码。 (0.45s)
编译布局文件代码。 (0.04s)
管理类库文件。 (0.00s)
编译生成的Java源码。 (30.81s)
构建Jar文件。 (25.22s)
创建了Jar文件。 ……\BasicCAT\BasicCAT\Objects\BasicCAT.jar
Building package. Check logs for more information. Error
……
Explicitly excluded modules: [javafx.web]
Included modules: [java.base, java.datatransfer, java.desktop, java.xml, javafx.base, javafx.controls, javafx.graphics]
Running: ……\jdk-11.0.1\bin\javac
.
.
module-info.java:10: ????: ????? java.sql ?????
uses java.sql.Driver;
^
(????? java.sql ??????? java.sql ??????, ????? b4j δ?????)
1 ??????
不知道是否IDE或者类库的版本问题。
xulihang commented
有用这里提供的JDK吗:https://www.b4x.com/b4j.html
yfdyh000 commented
有用这里提供的JDK吗:https://www.b4x.com/b4j.html
有的,用的是那个。
yfdyh000 commented
另外有一些疑问和建议:
- 建议将项目所需的类库和jar放入一个单独github库,这样其他用户下载为zip、在IDE中设定附加类库路径,就能直接编译了。我也担心b4x的论坛内容/附件是否可能在未来某一天失效/变化,虽然这最好不要发生。
- B4X软件是否没有自动下载
#AdditionalJar
所需.jar的自动化功能/工具。是否只能手动去查询那些类库的最新版本。我看到不少依赖是旧版或者不再更新,那么旧版jar的某些CVE漏洞,是否会使软件有潜在风险。 - 我也设想过是否能用 github actions 等 CI 自动化构建确保可重复性,同时注意到 https://www.b4x.com/android/forum/threads/continuous-integration-for-binary-distribution.99715/ 的提问者就是您。不知后来是否有进展。我也没看到B4J软件支持用命令行开始构建的迹象。
xulihang commented
可以直接引用现有的BasicCAT.jar,里面包含了所有包。
类库我自己在百度网盘有备份,等我整理下,有一个内部的xmlsax库我也有修改。
现在这个错误我估计是用了richtext的最新版,我用的是这个版本:https://github.com/FXMisc/RichTextFX/releases/tag/v0.10.6
yfdyh000 commented
richtext v0.10.6有用,编译不再报错。编译并运行可以启动。
不过,构建独立包后 BasicCAT\Objects\temp\build 中的 BasicCAT.exe 和 bin\BasicCAT.exe 启动都没反应,图标也分别是B4J和OpenJDK Platform binary。
也想问,BasicCAT界面没有被多语言化是有意为之还是低优先级。