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> 就可以解决



  • 相关阅读:
    线段树专辑—— pku 1436 Horizontally Visible Segments
    线段树专辑——pku 3667 Hotel
    线段树专辑——hdu 1540 Tunnel Warfare
    线段树专辑—— hdu 1828 Picture
    线段树专辑—— hdu 1542 Atlantis
    线段树专辑 —— pku 2482 Stars in Your Window
    线段树专辑 —— pku 3225 Help with Intervals
    线段树专辑—— hdu 1255 覆盖的面积
    线段树专辑—— hdu 3016 Man Down
    Ajax跨域访问
  • 原文地址:https://www.cnblogs.com/xmanblue/p/6670688.html
Copyright © 2011-2022 走看看