# 解决jlink error指南 ## 现象 jlink时,如果出现如下错误,参考本文档 ``` "automatic module cannot be used with jlink" ``` ## 解决方法: 1. 为jar生成module-info.class ```shell jdeps --ignore-missing-deps --module-path --add-modules javac --patch-module = jar uf -C ``` 以本次icu4j为例,先将依赖的jar包copy到libs目录,然后执行: ```shell jdeps --ignore-missing-deps --module-path libs --add-modules com.ibm.icu --generate-module-info libs/tmpOut libs/icu4j-73.2.jar javac --patch-module com.ibm.icu=libs/icu4j-73.2.jar libs/tmpOut/com.ibm.icu/module-info.java jar uf libs/icu4j-73.2.jar -C libs/tmpOut/com.ibm.icu module-info.class ``` 2. pom中添加依赖 ```xml com.ibm.icu icu4j 73.2 system ${project.basedir}/libs/icu4j-73.2.jar ``` ## Reference 1. [java_jlink_automatic_module_cannot_be_used_with_jlink](https://tacosteemers.com/articles/java_jlink_automatic_module_cannot_be_used_with_jlink.html)