关于maven-compiler-plugin。我的项目的POM文件中添加了一个设置。配置如下。
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<compilerArguments>
<endorseddirs>${endorsed.dir}</endorseddirs>
</compilerArguments>
</configuration>
</plugin>
</plugins>
在编译器参数中有<endorseddirs>
是什么意思?它如何与java编译器一起使用?
答案 0 :(得分:19)
从Endorsed Standards Override Mechanism的文档中,它是一种提供newer versions of an endorsed standard than those included in the Java 2 Platform
您的项目必须是创建和/或使用此类实现。
通过指定<endorseddirs>
属性,您指示java编译器查看此文件夹中存在的jar以覆盖标准jdk中类似定义的类。
答案 1 :(得分:10)
按Java documentation,java.endorsed.dirs
用于提供背书标准覆盖机制。这意味着,用户可以提供某些软件包的新版本,而不是JDK提供的软件包。如果在java.endorsed.dirs指定的目录中有这些包的较新实现,那么将加载这些实现而不是JDK附带的默认实现。
可以通过这种方式覆盖的软件包分为Endorsed Standards API和Standalone Technologies,并列在Java文档中。
粗略地说,背书标准API包括:
独立技术包括: