java - log4j2 在servlet3.1下報錯NoClassDefFoundError
問題描述
我的maven配置
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-web</artifactId> <version>2.8.1</version> <scope>compile</scope></dependency><dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.8.1</version> <scope>compile</scope></dependency><dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.8.1</version> <scope>compile</scope></dependency>
然后我在main函數中調用一切正常
public class Test { private static final Logger LOGGER = LogManager.getLogger(Test.class); public static void main(String[] args) {LOGGER.error('cuo wu'); }}
但是在servlet中使用就會報錯
@WebServlet(urlPatterns = '/index')public class Test extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {final Logger LOGGER = LogManager.getLogger();LOGGER.error('aefaefe');resp.getWriter().write('hi'); }}
錯誤信息是
java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager
希望有經驗的大佬幫幫忙
問題解答
回答1:可以在項目的發布目錄下找一下對應的class文件是否存在
相關文章:
1. 在應用配置文件 app.php 中找不到’route_check_cache’配置項2. html按鍵開關如何提交我想需要的值到數據庫3. HTML 5輸入框只能輸入漢字、字母、數字、標點符號?正則如何寫?4. javascript - 請教如何獲取百度貼吧新增的兩個加密參數5. Android中能不能判斷一個數據庫是create來的,還是open來的?6. gvim - 誰有vim里CSS的Indent文件, 能縮進@media里面的7. 跟著課件一模一樣的操作使用tp6,出現了錯誤8. PHP類屬性聲明?9. javascript - 求助canvas繪制馬賽克的問題,老是取色不準10. java - 安卓接入微信登錄,onCreate不會執行
