背景:在项目开发过程中,很多应用都进行了模块划分,有的时候是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:\STSPro\partition-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文件详解

eclipse java build path问题汇总的更多相关文章

  1. Eclipse Java Build Path详解

    Eclipse Java Build Path详解 1.设置"source folder"与"output folder". * source folder:存 ...

  2. eclipse中的项目Java build path (Java创建路径)详解

    1.Source标签页,指定本工程的源码目录和输出目录.Projects标签页,指定本工程所依赖的其他工程.Libraries标签页,指定本工程所需的jar包和class目录等.Order And E ...

  3. java开发eclipse常见问题(一)The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

    最近刚开始用Eclipse开发,刚开始都是按教程一步一步的新建web工程也没出现什么问题. 今天选了一个新的workspace,建了个web工程发现最简单的jsp页面都报错:The superclas ...

  4. Eclipse中Java build path的使用

    1.Eclipse中,工程属性的Java Build Path的Library标签页下,有如下几个按钮:Add Jars...添加JAR包,是指本Eclipse当前包含的工程中的,在工程列表下选取即可 ...

  5. eclipse:报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

    JavaWeb: 报错信息The superclass "javax.servlet.http.HttpServlet" was not found on the Java Bui ...

  6. java eclipse maven The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 解决方法

    在eclipse 中使用maven 创建java web项目,启动服务器遇到提示:The superclass "javax.servlet.http.HttpServlet" w ...

  7. 新建maven指定jdk版本-eclipse新建maven项目报错The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path的解决方案

    具体表现为: 使用Eclipse+Maven建立了一个Javaweb工程,JSP页面顶端出现“红色”的报错信息:The superclass "javax.servlet.http.Http ...

  8. Eclipse:The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path

    我们在用Eclipse进行Java web开发时,可能会出现这样的错误:The superclass javax.servlet.http.HttpServlet was not found on t ...

  9. eclipse JavaEE版"javax.servlet.http.HttpServlet" was not found on the Java Build Path问题的解决办法

    使用eclipse JavaEE 版,新建 Dynamic Web Project 项目.在项目里添加 JSP 文件,会在文件头部出现错误提示.提示语句为:The superclass "j ...

随机推荐

  1. mysql存储blob限制

    一.Mysql存储类型分类: 1.blob:二进制大对象(字节流),可以用来存储图片.视频等,没有字符集的说法 2.text:文本大对象(字符流),存储大型字串,有字符集的说法 3.二者使用时不能指定 ...

  2. 汇编 push ,pop指令

    知识点:  PUSH  POP  CALL堆栈平衡  RETN指令 一.PUSH入栈指令 (压栈指令): 格式: PUSH 操作数 //sub esp,4 ;mov [esp],EBP 操作数 ...

  3. Macaca 基础原理浅析

    导语 前面几篇文章介绍了在Macaca实践中的一些实用技巧与解决方案,今天简单分析一下Macaca的基础原理.这篇文章将以前面所分享的UI自动化Macaca-Java版实践心得中的demo为基础,进行 ...

  4. MVC的多页面后台管理系统

    MVC的多页面后台管理系统 同样功能的后台管理系统,也是可以使用 ASP.NET MVC .Web API 和JQuery 来制作. 所有的功能都与Angular js的单页面相同.应用层所有的方法都 ...

  5. Mysql基础命令(二)select查询操作

    条件查询 使用Where进行数据筛选结果为True的会出现在结果集里面 select 字段 from 表名 where 条件; # 例: select * from test_table where ...

  6. Git版本库的创建(Ubuntu)

    在Ubuntu上学习Git随笔. 一. git 仓库的安装 git 在终端用git命令查看Ubuntu是否安装git版本库,如果没有安装,最新版本(Ubuntu18.04)会提示用下面命令进行安装. ...

  7. 用Micro:bit做交通信号灯

    交通信号灯项目在控制技术中,有点像"Hello world!" 是一个入门级的范例. 对于孩子来说,交通灯跟日常生活息息相关,他们都熟悉,充分知道需要做什么这是一个让孩子开始的好项 ...

  8. C++基础知识(3)

    C++内置的数据类型:基本类型.复合类型 基本类型:整型,浮点型,字符型 复合类型:数组,字符串,指针和结构 复合数据类型是在基本数据类型的基础上创建的 要知道系统中整数的最大长度,可以在程序中使用C ...

  9. Google I/O 2018大会小结

    Google I/O 2018大会于北京时间5月9日凌晨1点,在美国山景城Shoreline Amphitheatre(圆形剧场)举办.看了一下录播,字幕延迟,全程靠听,下面对上午的主会进行一个小结. ...

  10. X86主要的几种寻址方式

    一.首先 P33: 严格来说有三种寻址方式 与数据有关的寻址方式 与转移指令或过程调用指令有关的寻址方式 与IO指令有关的寻址方式 这篇博客只讲1.2两条 二.然后 1. 与数据有关的寻址方式 数据, ...