zoukankan      html  css  js  c++  java
  • 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> 就可以解决



  • 相关阅读:
    HDU 5791 Two (DP)
    POJ 1088 滑雪 (DPor记忆化搜索)
    LightOJ 1011
    POJ 1787 Charlie's Change (多重背包 带结果组成)
    HDU 5550 Game Rooms (ccpc2015 K)(dp)
    HDU 5542 The Battle of Chibi (ccpc 南阳 C)(DP 树状数组 离散化)
    HDU 5543 Pick The Sticks (01背包)
    HDU 5546 Ancient Go (ccpc2015南阳G)
    NB-IoT的DRX、eDRX、PSM三个模式 (转载,描述的简单易懂)
    MQTT 嵌入式端通讯协议解析(转)
  • 原文地址:https://www.cnblogs.com/xmanblue/p/6670688.html
Copyright © 2011-2022 走看看