项目里用到了classpath路径来引用文件,那么classpath指的是哪里呢

我首先把上面的applicationContext.xml文件放在了src目录下发现可以。

那么classpath到底是哪里呢,在网上看了几篇博客

画黄线部分解释了我放在src目录下能用classpath:访问的问题。

但是红线部分,他说这句话对,我感觉有问题。

然后我就试了一下

发现无论是放在WEB-INF目录下,还是WEB-INF/lib下都不行。WEB-INF/classes文件还没有。。。。。

然后去项目WorkeSpaces 下看 bulib/ classes (这里是classpath路径 )里 发现applicationContext.xml并不在里

点开编译后的项目下的.classpath文件发现,有四种类型的kind

.classpath内容解释

.classpath是描述了工程的依赖文件:

  1. 源文件的具体位置(kind="src")
  2. 运行的系统环境(kind="con")
  3. 工程的library的具体位置信息(kind="lib")
  4. 在每个lib的xml子节点中,有关于它的其它配置信息(例如我配置的那个"javadoc_location")
  5. 项目的输出目录(kind="output")

总体上说这个文件就是配置整个工程的运行环境。

我们可以看到kind为src的只有"src"并么有包含web-inf 文件夹

然后我看到一篇博客解决classpath路径的问题http://blog.sina.com.cn/s/blog_792701cd0101hpbr.html

然后我照着在.classpath添加了一行

运行成功!

去workespaces /项目名/build/classes/ 下发现

哎!applicationContext.xml进来了

由此可以总结:

1、在编译生成的文件.classpath 中kind="src" 的类型为classpath 路径,在项目里可以用classpath:xxx方式引用。也可以手动过来自己添加、扩大classpath的范围,  <classpathentry kind="src" path="XXX"/>.

也就是说你想知道classpath指的是哪里点开.classpath 看看kind="src" 的就知道了

2、在编译生成的项目下的bulid/classes/ 下具有的文件都是classpath 路径下的文件,都可以通过classpath:方法获取。

3、”src不是classpath, WEB-INF/classes,lib才是classpath”这句话不对,这是编写项目时看到的,真正的classpath是在编译后的bulid/classes/ (如2的解释)

如何获取项目类编译后的路径

String path = 类名.class.getClassLoader().getResource("").getPath();

《Java项目中classpath路径详解》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. 【JS】前端文件下载(无刷新)方法总结

    #传统方法 利用iframe 或 form.submit 或 windows.open直接向后端发请求,后端返回文件流,后端处理成功后会直接返回到页面,浏览器会整理并打开自己的保存下载文件机制 . 1 ...

  2. jQuery使用():Deferred有状态的回调列表(含源码)

    deferred的功能及其使用 deferred的实现原理及模拟源码 一.deferred的功能及其使用 deferred的底层是基于callbacks实现的,建议再熟悉callbacks的内部机制前 ...

  3. DirectX11--实现一个3D魔方(2)

    前言 上一章我们主要讲述了魔方的构造和初始化.纹理的准备工作.目前我还没有打算讲Direct3D 11关于底层绘图的实现,因此接下来这一章的重点是魔方的旋转.因为我们要的是能玩的魔方游戏,而不是一个观 ...

  4. 11GR2 Oracle数据库的远程投毒VNCR方式修复

    [环境介绍] 系统环境:Solaris + Oracle 11GR2 + 单机/RAC   [背景描述] 基于集团数据库安全检查项,需要数据库的远程投毒漏洞进行修复. 根据Oracle官方提供的修复文 ...

  5. Android防止手动添加的本地库文件被NDK工具清理掉

    比如要添加一个名为libocr的本地库,先将libocr.so文件拷贝到jni目录下,然后在Android.mk文件中添加以下语句即可. 例: LOCAL_PATH := $(call my-dir) ...

  6. use case 的缺陷

    用use case 获取需求的方法是否有什么缺陷,还有什么地方需要改进? 1.故事/人物/场景非常适合交互式的系统,但是对于其他类型的需求(算法,速度,扩展性,安全性,以及和      系统技术相关的 ...

  7. sparkRDD相关操作

    RDD(弹性分布式数据集).RDD以分区中的每一行进行分布式计算.父子依赖关系. 一.RDD创建操作 1)数据集合 Val data=Array(1, 2, 3, 4, 5, 6, 7, 8, 9) ...

  8. Centos环境下安装mongoDB

    安装前注意: 此教程是通过yum安装的.仅限64位centos系统 安装步骤: 1.创建仓库文件: vi /etc/yum.repos.d/mongodb-org-3.4.repo 然后复制下面配置, ...

  9. GDAL create kml

    新增kml 点 public void WriteKmlPiont() { string driverName = "KML"; //MapInfo File OSGeo.GDAL ...

  10. Python的re模块中search与match的区别

    1.search和match: search:在整个字符中匹配,如果找不到匹配的就返回None match:在字符串开始位置匹配如果不匹配就返回None 2.效率对比: search: match: