You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JByteMod运行及编译时WebLaF依赖缺失与类找不到问题求助

JByteMod运行与编译故障排查方案

一、预编译版本运行错误的解决

你遇到的两个核心错误:

  1. AA_TEXT_PROPERTY_KEY找不到:WebLaF 1.2.x依赖Java 8中的AWT字段,高版本Java(11+)已移除该字段,导致反射失败。
  2. XStream模块访问错误:Java 9+的模块化系统限制了反射权限,老版本XStream无法绕过这个限制。

解决办法:

  • 优先用Java 8运行预编译JAR,这是最省心的方案。
  • 若必须用高版本Java,启动时添加以下VM参数:
java --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.desktop/sun.swing=ALL-UNNAMED --add-opens java.desktop/java.awt=ALL-UNNAMED -jar JByteMod-xxx.jar

二、编译时WebLaF依赖缺失问题

原依赖com.weblaf:weblaf:1.2.9是旧的聚合包,现在WebLaF拆分了模块,且groupId变更为com.weblookandfeel。JByteMod用到了扩展UI组件,必须添加完整依赖:

<dependency>
    <groupId>com.weblookandfeel</groupId>
    <artifactId>weblaf-core</artifactId>
    <version>1.2.9</version>
</dependency>
<dependency>
    <groupId>com.weblookandfeel</groupId>
    <artifactId>weblaf-ui</artifactId>
    <version>1.2.9</version>
</dependency>
<dependency>
    <groupId>com.weblookandfeel</groupId>
    <artifactId>weblaf-extended</artifactId>
    <version>1.2.9</version>
</dependency>

之前的错误是缺了weblaf-extended模块,里面包含com.alee.extended.breadcrumb.WebBreadcrumbToggleButton这类组件。

如果Maven拉不到依赖,手动构建WebLaF本地包:

  1. 克隆WebLaF仓库,切换到1.2.9分支
  2. 执行mvn install把包安装到本地Maven仓库,再编译JByteMod

三、运行时NoClassDefFoundError解决

编译后运行出现类找不到,是因为打包时没把依赖打进JAR。用Maven Shade插件打包可执行JAR:

在pom.xml中添加插件配置:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.4.1</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <transformers>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                <mainClass>me.grax.jbytemod.JByteMod</mainClass>
                            </transformer>
                        </transformers>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

执行mvn package后,target目录下会生成包含所有依赖的可执行JAR,直接运行即可。

内容的提问来源于stack exchange,提问作者UnSure

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 11:27:03