美文网首页
在mac(m1)上启动mybatis-generator-gui

在mac(m1)上启动mybatis-generator-gui

作者: 王月亮17 | 来源:发表于2022-10-20 18:25 被阅读0次

    问题一:javaFX

    首先遇到的就是javaFX相关包找不到、fxml文件显示异常的问题。之前在windows上,装的是oracle官方jdk。
    换了mac之后,装了zulu的jdk,当时是朋友发给我的,就直接安装了。
    既然zulu的jdk没有javaFX,那我直接引一个javaFX的maven依赖不就可以了吗?
    然后就开始找javaFX的maven依赖,引入之后,代码是不报红了,fxml文件也正常了。
    但是启动的时候,却报错了:

    无法访问javafx.scene.⌃.Alert
    

    这就尴尬了,包都引入了但是却不能用。
    然后就打开了zulu官网,发现官网的zulu有带javaFX的版本。直接下载了一个jdk8带javaFX的版本,安装了。
    安装之后果然就可以了,第一个问题解决。

    问题二:No native library is found for os.name=Mac and os.arch=aarch64

    这个问题是由于mybatis-generator-gui使用了SQLite数据库来保存一些信息,但是通过java连接SQLite的时候却连不上。
    报错如下:

    java.sql.SQLException: Error opening connection
        at org.sqlite.core.CoreConnection.open(CoreConnection.java:215) ~[sqlite-jdbc-3.8.11.2.jar:na]
        at org.sqlite.core.CoreConnection.<init>(CoreConnection.java:76) ~[sqlite-jdbc-3.8.11.2.jar:na]
        at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:24) ~[sqlite-jdbc-3.8.11.2.jar:na]
        at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:23) ~[sqlite-jdbc-3.8.11.2.jar:na]
        at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:45) ~[sqlite-jdbc-3.8.11.2.jar:na]
        at org.sqlite.JDBC.createConnection(JDBC.java:114) ~[sqlite-jdbc-3.8.11.2.jar:na]
        at org.sqlite.JDBC.connect(JDBC.java:88) ~[sqlite-jdbc-3.8.11.2.jar:na]
        at java.sql.DriverManager.getConnection(DriverManager.java:664) ~[na:1.8.0_345]
        at java.sql.DriverManager.getConnection(DriverManager.java:270) ~[na:1.8.0_345]
        at com.zzg.mybatis.generator.util.ConnectionManager.getConnection(ConnectionManager.java:21) ~[classes/:na]
        at com.zzg.mybatis.generator.util.ConfigHelper.loadDatabaseConfig(ConfigHelper.java:68) ~[classes/:na]
        at com.zzg.mybatis.generator.controller.MainUIController.loadLeftDBTree(MainUIController.java:240) [classes/:na]
        at com.zzg.mybatis.generator.controller.MainUIController.initialize(MainUIController.java:218) [classes/:na]
        at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548) [jfxrt.jar:na]
        at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441) [jfxrt.jar:na]
        at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2409) [jfxrt.jar:na]
        at com.zzg.mybatis.generator.MainUI.start(MainUI.java:29) [classes/:na]
        at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$8(LauncherImpl.java:863) [jfxrt.jar:na]
        at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$7(PlatformImpl.java:326) ~[jfxrt.jar:na]
        at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295) ~[jfxrt.jar:na]
        at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_345]
        at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(PlatformImpl.java:294) ~[jfxrt.jar:na]
        at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) ~[jfxrt.jar:na]
    Caused by: java.lang.Exception: No native library is found for os.name=Mac and os.arch=aarch64
        at org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:284) ~[sqlite-jdbc-3.8.11.2.jar:na]
        at org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:65) ~[sqlite-jdbc-3.8.11.2.jar:na]
        at org.sqlite.core.NativeDB.load(NativeDB.java:53) ~[sqlite-jdbc-3.8.11.2.jar:na]
        at org.sqlite.core.CoreConnection.open(CoreConnection.java:211) ~[sqlite-jdbc-3.8.11.2.jar:na]
        ... 22 common frames omitted
    

    然后这时候其实也启动了,界面也弹出来了,但是连接数据既查不到也不能保存,保存的时候就会报错:


    报错

    找遍了网络,有说引入一个依赖的,还有就是说非官方的jdk可能返回的os.name和os.arch不太一样,不一样的话要么换jdk,要么想办法修改这两个参数。
    也有一个说是jdbc版本配置的问题。我把所有能配置的地方都改了,依然不管用。
    后来发现pom文件里的sqlite-jdbc版本特别低:


    版本

    于是直接搜了一下maven上sqlite-jdbc最新版本,直接把版本号换了。

    <dependency>
      <groupId>org.xerial</groupId>
      <artifactId>sqlite-jdbc</artifactId>
      <version>3.39.3.0</version>
    </dependency>
    

    启动,不报错了,第二个问题也解决了。

    相关文章

      网友评论

          本文标题:在mac(m1)上启动mybatis-generator-gui

          本文链接:https://www.haomeiwen.com/subject/aniuzrtx.html