.iml 文件是IntelliJ IDEA 自动创建的模块文件,用于Java应用开发,存储一些模块开发相关的信息,比如一个Java组件, 插件组件,Maven组件等等, 还可能会存储一些模块路径信息,依赖信息以及别的一些设置。
遇到的问题是在项目的一个子模块中加载一个jar包中的类失败。
try { Class.forName("com.github.jaiimageio.jpeg2000.impl.J2KImageReader"); //TODO } catch (ClassNotFoundException e) { sb.append("J2KImageReader not loaded. JPEG2000 files will not be processed.\n"); sb.append("See https://pdfbox.apache.org/2.0/dependencies.html#jai-image-io\n"); sb.append("for optional dependencies.\n"); }异常的信息:
J2KImageReader not loaded. JPEG2000 files will not be processed.
See https://pdfbox.apache.org/2.0/dependencies.html#jai-image-io
for optional dependencies.
发现该jar包未被该模块引入使用,需要在加载之前在模块中进行引用。或者在.iml文件中进行配置。
<orderEntry type="library" name="Maven: com.levigo.jbig2:levigo-jbig2-imageio:1.6.5" level="project" /> <orderEntry type="library" name="Maven: com.github.jai-imageio:jai-imageio-core:1.3.1" level="project" /> <orderEntry type="library" name="Maven: com.github.jai-imageio:jai-imageio-jpeg2000:1.3.0" level="project" />这样在加载类的时候才能正确找到并加载类文件。