月度归档:2017年07月

AES加密时的 java.security.InvalidKeyException: Illegal key size 异常

如果密钥大于128, 会抛出java.security.InvalidKeyException: Illegal key size 异常. 因为密钥长度是受限制的, java运行时环境读到的是受限的policy文件. 文件位于${java_home}/jre/lib/security, 这种限制是因为美国对软件出口的控制.

处理办法: 在官方网站下载JCE无限制权限策略文件

JDK7的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
JDK8的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html 
下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt
如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件
如果安装了JDK,还要将两个jar文件也放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件

mac下,在/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib 目录

 

Intellij IDEA 使用Spring-boot-devTools无效解决办法

Intellij IDEA 使用Spring-boot-devTools无效解决办法

使用SpringBoot和thymeleaf开发web应用时,通常修改html后,比如css、javascript需要重启服务才会看到效果,spring-boot-devtools提供无需重启服务的情况下加载页面,我使用的是MacOS,intellij开发工具,下面是我在intellij中使用的步骤:

1、pom中添加spring-boot-devtools,optional表示该依赖为可选依赖。

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>

 

2、将工具设置为自动编译,Preferences -> Build, Execution, Deployment -> Compiler,勾选Build project automatically

3、使用快捷键shift+option+command+/,打开Registry,勾选compiler.automake.allow.when.app.running。

windows( Shift+Ctrl+Alt+/)

通过以上的设置就可以在不重启服务的情况下加载html,但如果修改java文件,服务在几秒后会自动重启,如果不希望服务重启需要在application.properties或application.yml中添加spring.devtools.reatart.enable=false