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



  • 相关阅读:
    ASP.NET Core 介绍和项目解读
    C#性能优化总结
    C# 线程知识--使用Task执行异步操作
    异步编程 In .NET(转载)
    .NET实现WebSocket服务端即时通信实例
    .net core 学习笔记一 Program与Startup
    .net core 自定义中间件
    c# 通过json.net中的JsonConverter进行自定义序列化与反序列化
    c# 通过HttpListener创建HTTP服务
    c# 反射实现模型深拷贝
  • 原文地址:https://www.cnblogs.com/xmanblue/p/6670688.html
Copyright © 2020-2023  润新知