idea lib下有jar包但是仍然報錯 找不到類


現象:


 
 
 
         
idea lib下有jar包但是仍然報錯 找不到類
但是有個奇怪現象 同樣的配置下項目在eclipse中可以正常編譯 啟動.
package com.puhui.car.aspect;

import java.util.UUID;

import org.apache.commons.lang3.StringUtils;
import org.aspectj.lang.ProceedingJoinPoint; 找不到類
import org.aspectj.lang.annotation.Around; ..一樣
import org.aspectj.lang.annotation.Aspect; ..一樣
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
但是lib下能找到  aspectjweaver-1.8.9.jar  

最開始的解決方案: 1. 既然少jar包嘗試 手動加入maven pom中  dependency 可以解決 
  
  
  
          
<dependency>

<groupId>org.aspectj</groupId>

<artifactId>aspectjweaver</artifactId>

<version>1.8.9</version>

</dependency> 后面發現有太多這個樣的情況 這個解決方案太不方便了 而且別人的eclipse都是好的呀

2.分析jar的dependency 引入情況 然后又查看 Project Structure --> 項目 modules --> xxx-web項目--> Dependencies 下 找到 aspectjweaver1.8.9的jar包 把Scope 從Test改成 Compile ok Done!!! 搞定 . 分析下: aspectjweaver1.8.9 先找它在pom中的定位 發現並沒有 顯示的引入 說明是依賴傳遞 引入的 執行 mvn dependency:tree 
找到引入jar包pom <dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-aop</artifactId>

<scope>test</scope>

</dependency>

原來 在引入 aop的時候 顯示指定了scope 為test 那么 依賴引入的jar包 仍然是Test scope 但是 eclipse中 即使jar的scope 是Test 仍然能夠編譯 (不知道為啥 待查原因) 同樣的 在idea中嚴格按照 scope標准 所以出現 此現象 3. 既然是引入aop時 是test 所以可以把此處改下 成 compile 或者去掉 <scope>test</scope> 就可以解決




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM