2021年12月10日 maven打包安装jar包
一、突发情况
昨天(2021年12月9日),网安发布了log4j的安全漏洞,详见以下链接:
Log4j2 远程代码执行漏洞
据传各大厂都连夜修复此漏洞,小生看了下手上维护的项目,一看也在范围内,
二、问题产生
2-1、具体的漏洞是怎样发生的呢?
log4j在记录日志的同时,会相应对日志内容判断,如果内容包含了“${”,log4j会认为次字符属于可替换的变量,还有最重要的是:log4j支持JNDI远程加载的方式替换变量值。
这漏洞也是没谁了。
好在官方也及时推出了修复补丁,详见链接:官方补丁
三、编译源码
3.1、下载解压
源码下载完成,文件解压到指定目录。
文件夹如下:
3.2、检查环境
Win+R,输入cmd,命令行输入“mvn”,提示mvn不是内部命令。
但实际上我本地是有maven环境的,原因在于没有将maven配置到环境变量中。
3.2.1、配置环境
首先,新建系统变量
其次,编辑环境变量
在path变量的最后面加上%MAVEN_HOME%\bin
最后,验证是否配置完成
在cmd中输入mvn -version ,如果出现版本信息则正确安装了。
3.4、编译打包
3.4.1、进入pom同级目录,Shift+右键,选择打开powershell窗口
3.4.2、执行mvn package命令,生成jar包
target文件夹中生成jar包
3.4.3、执行mvn install安装jar包
上面是log4j-api的打包、安装,log4j-core同理
四、使用
接下来就可以在项目中引用了。
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.15.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.15.0</version>
</dependency>