《Java项目中classpath路径详解》
项目里用到了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是描述了工程的依赖文件:
- 源文件的具体位置(kind="src")
- 运行的系统环境(kind="con")
- 工程的library的具体位置信息(kind="lib")
- 在每个lib的xml子节点中,有关于它的其它配置信息(例如我配置的那个"javadoc_location")
- 项目的输出目录(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路径详解》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- 《Java》第九周学习总结
下载mysql 选择mysql的管理软件 idea可以直接连接 然后用库运行程序,但是没有截图,,因为想在navicat上试试,可惜速度太慢了 打开idea又很慢,所以明天再更新
- VS Less Compiler插件使用
1.打开扩展管理器,下载安装 2.新建一个test.less文件 3.敲入代码 @grayback: #808080; body { background:@grayback; } 4.保存即可自动生 ...
- LabView ModBus安装
好久没写东西了(好菜哦...) 最近搞一个项目,开始入门LabVIEW,感觉类似于MATLAB里面的simulink 我使用LabVIEW是想用来和PLC通信的.因为PLC里面可以做ModBus,所以 ...
- [Jetty] Debugging With Eclipse
There are a number of options available to debug your application in Eclipse. If not done already pr ...
- react 监听页面滚动
html: // 如果使用typescript, 定义dom类型 private dom: HTMLDivElement | null // ReactJS中,对Div监听只需要绑定 onScroll ...
- js时间戳转日期
//时间戳转日期 2017-04-30 13:20 //type=1--> 2017-04-30 13:20 //type=2-->2018年08月 //type=3-->2018- ...
- 关闭QQ右下角弹窗小程序
关闭QQ右下角弹出的广告或新闻等. 程序没有界面,后台运行. #if defined(UNICODE) && !defined(_UNICODE) #define _UNICODE # ...
- python3列表
Python3 列表 list python的矩阵 python中矩阵可以用双层列表表示 Python列表脚本操作符 len([1, 2, 3]) 3 长度 [1, 2, 3] + [4, 5, 6] ...
- python多任务抓取图片
import re import urllib.request import gevent def download(image_download, images_path,i): headers = ...
- Mark SDL2 Lazy Foo's Producations
重点 初学SDL2,此处为笔记.有错误还请指出. 13)When our SDL 2 application runs, the operating system needs to be able t ...