-
hessian远程调用中,Map<String,Object> 作为返回值类型,map的value如果是Integer、Long、BigDecimal会出现数据丢失,调用方拿到的结果全是0,目前只知道是hessian序列化或者反序列化中出问题了,通过将这三类数据转成String传递进行解决的。
-
String.valueOf(null)
的结果是字符串null。(调用的应该是String.valueOf(Object obj)
的这个方法)。 -
springboot打包成jar后执行,无法读取classpath下自定义的配置文件。因为springboot会打包成jar,执行时无法像文件夹一样获取对应的文件。解决办法:使用spring的ClassPathResource来获取文件数据。另外可以使用ResourceUtils来解决问题
-
itext+freemarker模板生成pdf的时候,如果模板中有图片信息,图片在classpath下,生成过程中无法获取。这个问题和第3个是一样的,本来以为这是freemarker封装好的,结果发现itext生成pdf是自己写的,把这个过程中根据url获取图片文件的修改为3中的处理方式即可。
-
maven打包过程中对配置文件中的占位符可以替换成pom文件中的配置。项目中用到pdf生成,字体文件也放在resources目录,结果打包后提示异常,查找后发现,打包后的字体被损坏。最后发现是这个替换导致文件被修改。通过配置,只对指定的文件进行替换,即可解决。
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>utf-8</encoding>
<useDefaultDelimiters>true</useDefaultDelimiters>
<resources>
<resource>
<directory>src/main/resources/</directory>
<filtering>true</filtering>
<includes><!--只对yml文件进行替换-->
<include>*.yml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources/</directory>
<filtering>false</filtering>
</resource>
</resources>
</configuration>
</plugin>