Java 对maven使用不同版本的jar:一个用于JDK 8,另一个用于JDK 11
我们正在用JDK11测试编译。在pom.xml中,我们依赖于xml API:Java 对maven使用不同版本的jar:一个用于JDK 8,另一个用于JDK 11,java,java-11,java-module,Java,Java 11,Java Module,我们正在用JDK11测试编译。在pom.xml中,我们依赖于xml API: xml API xml API 1.4.01 代码在JDK 8中编译得很好,但在JDK 11中会出现错误,因为xml API中的大多数类也在JDK 11中,并且会发生以下错误: 可以从多个模块访问javax.xml.parsers包:unnamed,java.xml pom.xml中有没有一种方法可以有条件地使用依赖项,比如是否设置了jdk11.compile属性?只有在检测到精确的jdk版本时,才能使用Maven
xml API
xml API
1.4.01
代码在JDK 8中编译得很好,但在JDK 11中会出现错误,因为xml API中的大多数类也在JDK 11中,并且会发生以下错误:
可以从多个模块访问javax.xml.parsers包:unnamed,java.xml
pom.xml中有没有一种方法可以有条件地使用依赖项,比如是否设置了jdk11.compile属性?只有在检测到精确的jdk版本时,才能使用Maven profiles添加特定的依赖项:
<profile>
<id>Java 8</id>
<activation>
<jdk>1.8</jdk>
</activation>
<dependencies>
<dependency>…</dependency>
</dependencies>
</profile>
爪哇8
作为一般建议,您可能会从库中寻找一个升级版本来支持JDK-11本身,这样会更干净。如果您完全删除XMLAPI
依赖关系会怎么样?JDK 8已经拥有XMLAPI
提供的所有类。