标签:高版本 编译器 project 目的 cti 运行时 gui frame ide
参考:Compiling Sources Using A Different JDK
最好的就是用Toolchainstool 插件,这个插件可以为包括compiler在内的其他诸多插件制定jdk版本,以及其他工具的版本(如果这些插件需要使用的话)。具体参考:Guide to Using Toolchains
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<executable><!-- path-to-javac --></executable>
<compilerVersion>1.3</compilerVersion>
</configuration>
</plugin>
</plugins>
[...]
</build>
[...]
</project>
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
[...]
</build>
[...]
</project>
解析依赖的意思是确定所有的直接依赖和传递性依赖的最终版本,保证每个依赖都是唯一的。查看已解析依赖的命令是:
mvn dependency:list
可以清晰地看到当前项目的依赖树是什么样的
mvn dependency:tree
分析依赖可以分析出哪些依赖是声明了但是没有使用到的,即多余声明;也可以分析出哪些依赖是直接使用到但是没有声明成直接依赖(而是通过依赖传递得到的)
mvn dependency:analyze
重点关注结果中的 Used undeclared dependencies 和 Unused declared dependencies 两部分内容。
需要注意的是,对于这样一类依赖,我们不应该简单地直接删除其声明,而是应该仔细分析。由于dependency:analyze只会分析编译主代码和测试代码需要用到的依赖,一些执行测试和运行时需要的依赖它就发现不了。比如spring-core和spring-beans是运行Spring Framework项目必要的类库,因此不应该删除依赖声明。当然,有时候确实能通过该信息找到一些没用的依赖,但一定要小心测试。
标签:高版本 编译器 project 目的 cti 运行时 gui frame ide
原文地址:https://www.cnblogs.com/JMLiu/p/11664316.html