maven编译时报javax.crypto.* 找不到符号

mvn clean package

IDEA console显示如下:

[INFO] Total time: 10.044 s
[INFO] Finished at: 2019-01-25T12:15:34+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project token-move: Compilation failure: Compilation failure:
[ERROR] /D:/idea_workspace/...token/util/Des3Util.java:[5,20] 程序包javax.crypto不存在
[ERROR] /D:/idea_workspace/...token/util/Des3Util.java:[6,20] 程序包javax.crypto不存在
[ERROR] /D:/idea_workspace/...token/util/Des3Util.java:[7,25] 程序包javax.crypto.spec不存在
[ERROR] /D:/idea_workspace/...token/util/AESUtilOld.java:[4,20] 程序包javax.crypto不存在
[ERROR] /D:/idea_workspace/...token/util/AESUtilOld.java:[5,20] 程序包javax.crypto不存在
[ERROR] /D:/idea_workspace/...token/util/AESUtilOld.java:[6,20] 程序包javax.crypto不存在
[ERROR] /D:/idea_workspace/...token/util/AESUtilOld.java:[7,25] 程序包javax.crypto.spec不存在
[ERROR] /D:/idea_workspace/...token/util/AESUtil.java:[5,20] 程序包javax.crypto不存在
[ERROR] /D:/idea_workspace/...token/util/AESUtil.java:[6,25] 程序包javax.crypto.spec不存在
[ERROR] /D:/idea_workspace/...token/util/AESUtil.java:[7,25] 程序包javax.crypto.spec不存在


处理方法:

修改maven的编译插件

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <compilerArguments>
          <bootclasspath>${JAVA_HOME}/jre/lib/rt.jar;${JAVA_HOME}/jre/lib/jce.jar</bootclasspath>
        </compilerArguments>
      </configuration>
    </plugin>
  </plugins>
</build>

重点在:

${JAVA_HOME}/jre/lib/jce.jar , 这个jar需要加入进来参与编译才行.

注意检查一下jdk路径里面有没有这个jce的jar包

注意一点: sun.misc.BASE64Decoder 是 Sun的专用 API,可能会在未来版本中删除。