背景:在项目开发过程中,很多应用都进行了模块划分,有的时候是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. 2017-2018 Exp7 网络欺诈技术防范 20155214

    目录 Exp7 网络欺诈技术防范 实验内容 信息收集 知识点 Exp7 网络欺诈技术防范 实验内容 实验环境 主机 Kali 靶机 Windows 10 实验工具 平台 Metaploit 信息收集 ...

  2. 20155229《网络对抗技术》Exp4:恶意代码分析

    实验内容 使用schtasks指令监控系统运行 schtasks指令:允许管理员在本地或远程系统上创建计划任务. SCHTASKS /Create [/S system [/U username [/ ...

  3. 20155233 《网络对抗》Exp2 后门原理与实践

    实验过程 1.Win获得Linux Shell windows:使用ipconfig指令查看本机ip: windows:使用ncat命令打开监听: Linux反弹连接win: 输入 nc window ...

  4. SSIS 组件属性整理

    整理SSIS 组件的属性解释及其用法 一,ExecValueVariable属性 有些Task组件执行完成之后,会产生输出结果,称作Execution Value,例如,Execute SQL Tas ...

  5. tree的使用,显示行号,find命令应用

    第1章 linux启动过程 1.开机自检bios 2.mbr引导 3.GRUB 菜单:选择不同的内核 4.加载内核 5.运行init进程 6.读取/etc/inittab运行级别配置文件 7.执行 / ...

  6. C#_备份sqlserver数据库

    C# 代码备份数据库 ,不需要 其他 DLL protected void Button1_Click(object sender, EventArgs e)    {        ///     ...

  7. 按键精灵对APP自动化测试(下)

    上一篇介绍了安卓app上使用按键精灵的实践,这里再来说说苹果上的app. 由于iOS相关工具对操作系统的限制,目前在iOS10.0.2系统上应用成功. 二.       苹果手机按键精灵APP录制 适 ...

  8. fabric-sdk-container v1.0-beta 新增支持多服务节点

    HyperLedger/Fabric SDK Docker Image 该项目在github上的地址是:https://github.com/aberic/fabric-sdk-container ( ...

  9. VC++代码上传到VSS上 注意事项

    1.删除Debug文件,删除Release 文件2.删掉ncb,opt,clw,aps文件注.opt 工程关于开发环境的参数文件.ncb 无编译浏览文件(no compile browser).当自动 ...

  10. PAT甲题题解-1061. Dating (20)-字符串处理,水水

    #include <iostream> #include <cstdio> #include <algorithm> #include <string.h&g ...