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

如何在多模块Maven项目中添加org.jsoup模块并使用jlink编译?

解决jlink打包时找不到org.jsoup模块的问题

1. 先确认模块声明与jsoup jar的有效性

  • 检查module2的module-info.java,确保已正确添加requires org.jsoup;声明
  • 执行命令验证jsoup jar的模块信息:
    jar --describe-module --file Project/jars/org.jsoup.jar
    
    确认输出的模块名是org.jsoup,如果模块名不符,需重新用jdeps生成并指定模块名:
    # 生成模块信息文件
    jdeps --generate-module-info . --module-name org.jsoup org.jsoup-xxx.jar
    # 编译模块信息并注入原jar
    javac -d generated-module-info generated-module-info/org/jsoup/module-info.java
    jar uf org.jsoup-xxx.jar -C generated-module-info/org/jsoup module-info.class
    

2. 调整Maven依赖配置,确保模块路径包含jsoup jar

在module2的pom.xml中,将本地jsoup jar配置为system依赖,并确保编译器能识别:

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>你的版本号</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/../jars/org.jsoup.jar</systemPath>
</dependency>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.11.0</version>
    <configuration>
        <release>17</release> <!-- 替换为你的Java版本 -->
        <modulepath>
            <path>${project.basedir}/../jars/org.jsoup.jar</path>
        </modulepath>
    </configuration>
</plugin>

在执行jlink的模块(如module3)的pom.xml中,确保jlink插件的模块路径包含jsoup jar所在目录:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jlink-plugin</artifactId>
    <version>3.3.0</version>
    <configuration>
        <modulePath>
            <path>${project.basedir}/../jars</path>
            <path>${maven.compiler.modulepath}</path>
            <path>${maven.runtime.modulepath}</path>
        </modulePath>
        <modules>
            <module>module3</module> <!-- 你的主模块名 -->
        </modules>
        <outputDirectory>${project.build.directory}/jlink-image</outputDirectory>
    </configuration>
</plugin>

4. 手动执行jlink的命令行写法

如果不用Maven插件,直接命令行执行jlink时,需明确把jsoup jar加入模块路径:

jlink --module-path "JDK路径/jmods:项目模块jar目录:Project/jars/org.jsoup.jar" --add-modules module3 --output jlink-image

内容的提问来源于stack exchange,提问作者mr.ANDREW

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 17:40:40