/images/avatar.jpg

雨临Lewis的博客

日志框架与门面模式

日志框架

目前的日志框架可以分为两种:一种是jdk自带的,一种是第三方实现的。

第三方的日志框架除了提供具体的日志实现外,也有的会提供自身框架的接口。此外,有些日志框架仅仅提供了一套统一的接口,不包含具体的日志实现,可以通过一些桥接包来调用其他的日志框架。(即日志的门面模式)

Hugo系列(3.3) - LoveIt主题美化与博客功能增强 · 第四章

前言

本博客使用的是Hugo的LoveIt主题,本文也是基于该主题而写的,不过Hugo的美化步骤应该大同小异,版本如下:

1
2
3
hugo: v0.74.2/extended windows/amd64 BuildDate: unknown

LoveIt: v0.2.10

请注意,本文的所有功能都离不开两个新增加的文件:_custom.scsscustom.js,部分功能还需要jquery,在第一章中会提及如何引入。

另外本文篇幅太长,阅读体验不好,将其进行分章如下:

SpringBoot问题汇总

使用Log4j2日志替代默认的Logback

SpringBoot默认使用Logback打印日志,出于性能考虑想要改用Log4j2,需要修改POM中的依赖,移除默认的Logback依赖:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>
 
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

PowerMock问题汇总

PowerMock报错导致无法运行测试类

在执行单元测试时报错如下:

1
ScriptEngineManager providers.next(): javax.script.ScriptEngineFactory: Provider jdk.nashorn.api.scripting.NashornScriptEngineFactory not a subtype

在Stack Overflow上找到了同样的错误,该报错是在使用了PowerMock框架后发生的,奇怪的是,某些同样使用该框架的测试类却不会报错,暂时不明白抛出该异常的根本原因,先记录下解决方法。

Spring问题汇总

SpelEvaluationException: EL1030E

运行Spring项目时报错如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
org.springframework.expression.spel.SpelEvaluationException: EL1030E: The operator 'ADD' is not supported between objects of type 'java.lang.String' and 'null'
	at org.springframework.expression.spel.ExpressionState.operate(ExpressionState.java:240)
	at org.springframework.expression.spel.ast.OpPlus.getValueInternal(OpPlus.java:80)
	at org.springframework.expression.spel.ast.OpPlus.getValueInternal(OpPlus.java:85)
	at org.springframework.expression.spel.ast.OpPlus.getValueInternal(OpPlus.java:83)
	at org.springframework.expression.spel.ast.OpPlus.getValueInternal(OpPlus.java:83)
	at org.springframework.expression.spel.ast.OpPlus.getValueInternal(OpPlus.java:83)
	at org.springframework.expression.spel.ast.OpPlus.getValueInternal(OpPlus.java:83)
	at org.springframework.expression.spel.ast.SpelNodeImpl.getValue(SpelNodeImpl.java:109)
	at org.springframework.expression.spel.standard.SpelExpression.getValue
....
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)

iReport问题汇总

iReport无法正常启动

最近需要用到iReport报表工具,但是在启动客户端时却发现会闪退,无法正常启动。查找了资料,发现是因为iReport无法支持jdk 1.8,必须要修改配置文件,将java版本指定为1.7或之前的版本。目前官网最新的版本是5.6.0,据说有外国大神说是下个版本将会支持jdk 1.8。

IDEA问题汇总

前言

本文基于2021-2版本的IDEA。

无法搜索或者下载插件

File -> Settings... -> Plugins可以打开插件市场,搜索想要下载的插件,但是可能由于网络问题而无法成功搜索或者下载插件。此时需要设置代理来解决。

点击插件界面里的齿轮图标(在Marketplace、Installed的右边),选择HTTP Proxy Settings...,勾选Auto-detect proxy settings以及Automatic proxy configuration URL:,然后点击最下方的Check connection,在弹出框里输入官方插件网站https://plugins.jetbrains.com/idea,点击OK,一般都是可以连接成功的。之后就可以正常的搜索和下载插件了。

博客园SimpleMemory皮肤定制化

前言

博客园支持皮肤的高度定制化,本文主要简单介绍下博客园的SimpleMemory皮肤的定制化。感谢皮肤作者以及定制化皮肤的作者!

个人使用的是BNDong大大开源的基于SimpleMemory原皮的定制化皮肤,下面是相关的一些链接。

  • 项目地址:https://github.com/BNDong/Cnblogs-Theme-SimpleMemory
  • 文档地址:https://bndong.github.io/Cnblogs-Theme-SimpleMemory/v2/#/
  • 原作者:https://www.cnblogs.com/bndong/