最近在使用jdk生成keystore时发现编译和运行报出sun.security.tools.keytool.CertAndKeyGen等相关包类找不到,经过研究发现是由于环境中的jdk是1.9导致,jdk1.9之后java删除了tool.jar和rt.jar,对其进行模块化管理,核心思想就是分解并加载尽量少的包。
既然如此,我还是决定换到jdk1.8,主要是也比较稳定也基本够用。同时要注意如果用maven编译,pom的依赖需要加入
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<verbose />
<bootclasspath>G:\Java\jdk1.8.0_201\jre\lib\rt.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
</plugins>
</build>