zoukankan      html  css  js  c++  java
  • eclipse java build path问题汇总

    背景:在项目开发过程中,很多应用都进行了模块划分,有的时候是jar包依赖,有的时候通过build path进行配置,搞清楚这部分有助于理解项目之间的关系。

    1 tms项目开发

    1.1 问题描述

    项目结构如图:

    这个项目是用dubbo方式进行通信:

    tms_interface定义接口

    tms_service是服务提供者

    tms_web是服务消费者

    这里tms_service中没有对tms_interface的jar包引用,为了使得service中的类不报错,刚开始我采用如下方式进行关联

    这个时候eclipse是不会报错的,但是在运行程序的时候就会出现如下错误:

    Caused by: java.lang.NoClassDefFoundError: szfs/tms/interfaces/service/ITrade

    Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [szfs.tms.service.framework.facade.TradeImpl] for bean with name 'trade' defined in class path resource [service.xml]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: szfs/tms/interfaces/service/ITrade

    1.2 发现问题

    以SVN原有文件做说明

    检查tms_service的.project文件发现如下情况

    而我的这些文件目录都是在G:STSPropartition-work下面,所以肯定是这里导致程序在运行时候找不到java文件的

    再观察项目的.classpath 文件,发现如下情况

    这些文件关联是什么?

    1.3 解决问题

    原来这是程序采用linked folder的方式进行关联,单纯的去修改配置文件治标不治本,这一切都可以在eclipse中配置完成。

    解决思路:先建立关联文件夹,然后在eclipse中添加相关联的文件夹。

    添加关联文件夹:

    ps:我这里添加了tms_interface_src 和tms_public_lib_src两个关联文件夹。和SVN中tms_interface tms_public 命名不同。

    在父文件夹 右键——new folder ——Advance 关联需要关联的文件夹

     

    效果如图:

     配置buil path:

    工程 右键 Build Path ——Configure Build Path——Source

    效果图和前后对比图:

           

    此时程序运行前和运行后都没有问题。

     1.4 小结

    eclipse中的配置改动 和.project .classpath文件的改动是一致的。

    对于.project文件 当我在tms_service下面建立两个关联文件tms_interface_src 和tms_public_lib_src后,项目的目录结构就体现在.project文件上:

    对于.project文件,当修改了build path的中的Source foleder配置,该配置就体现在.classpath文件上:

      

    这里还发现:

    总结就是:

    工程目录的所有修改内容都和.project文件内容对应

    build path 中内容的修改都和.classpath文件对应

    可以参考eclipse项目中.classpath文件详解

  • 相关阅读:
    jdk源码剖析三:锁Synchronized
    ASP.NET的session操作方法总结
    C#文件相同性判断
    C#的DataTable操作方法
    C#二进制流的序列化和反序列化
    C#常用的IO操作方法
    C#缓存操作
    CLR中的程序集加载
    Oracle数据库的SQL分页模板
    奇妙的NULL值,你知道多少
  • 原文地址:https://www.cnblogs.com/lixuwu/p/7412936.html
Copyright © 2011-2022 走看看