diff --git a/libs/README.md b/libs/README.md new file mode 100644 index 0000000..833df2a --- /dev/null +++ b/libs/README.md @@ -0,0 +1,43 @@ +# 解决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) \ No newline at end of file diff --git a/libs/icu4j-73.2.jar b/libs/icu4j-73.2.jar new file mode 100644 index 0000000..696a937 Binary files /dev/null and b/libs/icu4j-73.2.jar differ