我试图将多个java 8 maven依赖项添加到intellij中的java11maven项目中。我向java8pom添加了自动模块名,比如com.robert.package8是包名。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifestEntries>
<Automatic-Module-Name>com.robert.package8</Automatic-Module-Name>
</manifestEntries>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>在java 11项目中,我在pom中将包添加为依赖项,并将其作为intellij中的maven项目添加,将sdk设置为package8项目的java 8。
<dependency>
<groupId>com.robert</groupId>
<artifactId>package8</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>但是,当导入java 11项目中的包时,我会得到错误。
包com.robert.package8是在未命名模块中声明的,但模块com.robert.package11没有读取它。
并在我的模块-info.java中要求它给出一个Module not found错误
我是不是错过了什么或者做错了什么?package8项目是通过pom添加的,目录包含项目文件,而不仅仅是jar。
发布于 2020-01-30 01:58:03
移除addClassPath或将其设置为false将有助于您在这里工作。
<archive>
<manifestEntries>
<Automatic-Module-Name>com.robert.package8</Automatic-Module-Name>
</manifestEntries>
</archive>上面的内容足以让模块在模块路径中使用,使用Automatic-Module-Name将有助于识别您的Jar为具有指定名称的java模块。
https://stackoverflow.com/questions/59977252
复制相似问题