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

运行JxBrowser+JavaFX/Maven项目遇语言级别及许可证问题

解决方案

一、解决Java编译级别不兼容问题

Maven的编译配置优先级高于IDE项目结构设置,即便你在IntelliJ中修改了语言级别,Maven仍会默认使用低版本编译规则。需要在pom.xml中明确指定与OpenJDK 17.0.6匹配的编译版本:

  1. 在pom.xml的<build>标签下添加或更新maven-compiler-plugin配置:
<build>
    <plugins>
        <!-- 保留原有其他插件配置 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.11.0</version>
            <configuration>
                <source>17</source>
                <target>17</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
    </plugins>
</build>
  1. 重新执行mvn clean javafx:run,编译报错即可消除。

二、解决JxBrowser NoLicenseException异常

JxBrowser是商业组件,必须使用合法许可证才能运行,提供两种配置方式:

方式1:代码中直接设置许可证

在初始化JxBrowser引擎前添加许可证配置代码:

import com.teamdev.jxbrowser.license.License;

public class Main extends Application {
    @Override
    public void start(Stage stage) {
        // 替换为你的JxBrowser许可证密钥
        License.set("YOUR_JXBROWSER_LICENSE_KEY");
        
        // 后续引擎、浏览器初始化代码
        Engine engine = Engine.newInstance(HARDWARE_ACCELERATED);
        Browser browser = engine.newBrowser();
        // ...
    }
}

方式2:通过VM启动参数配置

在pom.xml的javafx-maven-plugin中添加VM参数:

<plugin>
    <groupId>org.openjfx</groupId>
    <artifactId>javafx-maven-plugin</artifactId>
    <version>0.0.8</version>
    <configuration>
        <mainClass>你的主类全路径</mainClass>
        <vmArgs>
            -Dcom.teamdev.jxbrowser.license.key=YOUR_JXBROWSER_LICENSE_KEY
        </vmArgs>
    </configuration>
</plugin>

注意事项

  • 若未持有许可证,可申请免费评估许可证用于开发测试;
  • 确保许可证密钥与你使用的JxBrowser版本匹配,不同版本许可证不兼容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 09:02:43