«

2021年12月10日 maven打包安装jar包

Mahalalel 发布于 阅读:4092 运行环境


一、突发情况

昨天(2021年12月9日),网安发布了log4j的安全漏洞,详见以下链接:
Log4j2 远程代码执行漏洞
据传各大厂都连夜修复此漏洞,小生看了下手上维护的项目,一看也在范围内,
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窗口

打开powershell

3.4.2、执行mvn package命令,生成jar包

编译成功
target文件夹中生成jar包

3.4.3、执行mvn install安装jar包

安装到maven仓库
上面是log4j-api的打包、安装,log4j-core同理
log4j-core本地maven仓库安装位置

四、使用

接下来就可以在项目中引用了。

    <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>

maven打包 maven安装