xulihang/BasicCAT

编译失败

yfdyh000 opened this issue · 5 comments

近日偶然发现这个项目,很感兴趣,但自行编译的尝试没有成功。手动下载凑齐了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或者类库的版本问题。

有用这里提供的JDK吗:https://www.b4x.com/b4j.html

有用这里提供的JDK吗:https://www.b4x.com/b4j.html

有的,用的是那个。

另外有一些疑问和建议:

  1. 建议将项目所需的类库和jar放入一个单独github库,这样其他用户下载为zip、在IDE中设定附加类库路径,就能直接编译了。我也担心b4x的论坛内容/附件是否可能在未来某一天失效/变化,虽然这最好不要发生。
  2. B4X软件是否没有自动下载#AdditionalJar所需.jar的自动化功能/工具。是否只能手动去查询那些类库的最新版本。我看到不少依赖是旧版或者不再更新,那么旧版jar的某些CVE漏洞,是否会使软件有潜在风险。
  3. 我也设想过是否能用 github actions 等 CI 自动化构建确保可重复性,同时注意到 https://www.b4x.com/android/forum/threads/continuous-integration-for-binary-distribution.99715/ 的提问者就是您。不知后来是否有进展。我也没看到B4J软件支持用命令行开始构建的迹象。

可以直接引用现有的BasicCAT.jar,里面包含了所有包。

类库我自己在百度网盘有备份,等我整理下,有一个内部的xmlsax库我也有修改。

现在这个错误我估计是用了richtext的最新版,我用的是这个版本:https://github.com/FXMisc/RichTextFX/releases/tag/v0.10.6

richtext v0.10.6有用,编译不再报错。编译并运行可以启动。
不过,构建独立包后 BasicCAT\Objects\temp\build 中的 BasicCAT.exe 和 bin\BasicCAT.exe 启动都没反应,图标也分别是B4J和OpenJDK Platform binary。

也想问,BasicCAT界面没有被多语言化是有意为之还是低优先级。