myeclipse中间classpath
myeclipse中间classpath这是一个非常重要的问题
myeclipse是搜索寻找在按照时间其,和myeclipse有一个特殊的文件来保存classpath信息。这也是别人的项目文件的副本时的一个关键需求,否则,这个项目导入到自己的myeclipse中就会错误发生,此时就仅仅能是手工来编写这个文件
myeclipse的classpath文件就是项目根文件夹下的“.classpath”文件,其格式例如以下:
<?xml version="1.0" encoding="UTF-8"? >
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="melibrary.com.genuitec.eclipse.j2eedt.core.MYECLIPSE_JAVAEE_5_CONTAINER"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/bsf-2.3.0.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-beanutils-1.7.0.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-chain-1.1.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-digester-1.8.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-fileupload-1.1.1.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-io-1.1.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-logging-1.0.4.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/commons-validator-1.3.1.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/oro-2.0.8.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/struts-core-1.3.8.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/struts-el-1.3.8.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/struts-extras-1.3.8.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/struts-faces-1.3.8.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/struts-mailreader-dao-1.3.8.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/struts-scripting-1.3.8.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/struts-taglib-1.3.8.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/struts-tiles-1.3.8.jar"/>
<classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>
</classpath>
第一句
<?xml version="1.0" encoding="UTF-8"?>
这是表明使用的XML的版本号。以及使用的编码
<classpath>... ...</classpath>
这个标签中存放的便是classpath的信息。它一般包括下面五种形式:
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="melibrary.com.genuitec.eclipse.j2eedt.core.MYECLIPSE_JAVAEE_5_CONTAINER"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/bsf-2.3.0.jar"/>
<classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>
<classpath kind="src" path="src">
相应的是source folder类型的文件夹,kind---表示这个classpath的类型,path表示在项目中的路径,path使用根文件夹的相对路径(相对.classpath文件本身的相对路径) ,myeclipse项目中的src本身就是一个source folder,所以它会自己主动写入这个文件里,假设自己手动建立了一个source folder,这个folder也会写入这个文件,形式就是以上形式eg.在项目基础上新建一个test的source folder。就会就会成为这样
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="test"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
这句是表示程序的执行环境 kind="con"---表示classpath的类型,con即是container,就是程序执行的容器。或者就说是执行环境也OK,它实际上是在Myeclipse最初的时候要配置installed JREs中指定(普通情况下我们指定的是JDK),可是这里实际使用的是JDK下的JRE中的jar包,就是JDK_HOME/jre/lib就是相应的这条语句<BR>
<classpathentry kind="con" path="melibrary.com.genuitec.eclipse.j2eedt.core.MYECLIPSE_JAVAEE_5_CONTAINER"/>
这句是kind="con"当然和上条一样。是表示执行时的容器,普通情况下是java web项目才会有,它是包括了J2EEserver要使用到的一些jar包,这个文件夹中的jar包是当中最特殊的,那就是它不会在部署项目的时候部署到server上去,由于myeclipse觉得这种jar包是server应该有的,所以这里有时候会出现故障。就是开发的时候不出现故障,可是部署之后会出错。就是有的server有的jar包并没有提供,比方tomcat(由于tomcat并非专业的webserver。它仅仅是一个轻量的web容器),这就要区分好开发环境和执行环境
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/bsf-2.3.0.jar"/>
这条语句kind="lib",相应的是classpath中的库文件,path指定库文件的路径。相同是相对与项目根文件夹的相对路径
<classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>
这条表示项目的输出文件夹,整个之前定义的classpath不管是kind='src",kind="con",kind="lib",在编译后都会进入到这个文件夹中来,在java web中也就是WebRoot/WEB-INF/classes。
相同使用的path是相对项目根文件夹的相对路径(相对.classpath文件本身的相对路径)。可是因为J2EE部分的是本身要求web server本身要有那些jar包。所以那个例外不会进行拷贝
总结:
classpath是myeclipse关键文件,在进行相关的查找时候要用到
项目根文件夹下的".classpath“文件就是保存项目classpath的文件
文件里的
<classpath>... ...</classpath>之间保存各种classpath信息。kind表示类型,path表示路径,且使用的都是相对于”
.classpath“或者说是项目根文件夹的相对路径
几种kind的含义:
kind=”src" ----相应source folder文件夹
kind="con"--项目的容器,一般当是java web项目的时候会有两个</SPAN></SPAN></P>
kind="lib"---项目中使用到的库文件
kind='output"--输出文件夹,终于编译后相关文件的目标文件夹,myeclipse会自己主动完毕相关的拷贝终于对于myeclipse的classpath管理是通过这个文件来实现。
版权声明:本文博主原创文章。博客,未经同意不得转载。
myeclipse中间classpath的更多相关文章
- 解析Myeclipse项目下的.classpath文件
<classpathentry kind="src" path="src"/> <classpathentry kind="con& ...
- myeclipse中的classpath .
博客分类: java基础 myeclipse中的classpath是一个很重要的问题 myeclipse的在查找的时候都是按照其查找,而且myeclipse有一个专门的文件来保存classpath ...
- idea和eclipse的区别
使用基于IntelliJ的IDE,都会对project和module的关系比较糊涂.用简单的一句话来概括是: IntelliJ系中的Project相当于Eclipse系中的workspace.Inte ...
- java-----遇到问题------myeclipse----发布项目到tomcat中lib文件夹没有子项目产生ClassNotFoundException错误
情况 myeclipse发布项目到tomcat中lib文件夹没有子项目产生ClassNotFoundException错误. 这种情况一般是 .classpath文件设置的输出路径不对导致的. 1.. ...
- eclipse的一些部署
1. Eclipse导入一个项目Package Exporer-------右键------import------General------Existing Project into Workspa ...
- SVN — subclipse操作指引
摘自: http://jiangzhengjun.iteye.com/blog/491824 安装插件:请参照http://subclipse.tigris.org/servlets/ProjectP ...
- eclipse使用SSH框架出现There is no Action mapped for namespace [/] and action name [] associated with context path错误
eclipse使用SSH框架出现There is no Action mapped for namespace [/] and action name [] associated with conte ...
- Eclipse和MyEclipse工程描述符.classpath和.project和.mymetadata详解aaaaaa(转)
Eclipse和MyEclipse工程描述符.classpath和.project和.mymetadata详解(转) (2012-03-28 15:06:54) 转载▼ 标签: .mymetadata ...
- MyEclipse Workspace 项目文件 .project .classpath .mymetadata解析
<!-- .classpath文件 --> <?xml version="1.0" encoding="UTF-8"?> <cla ...
随机推荐
- php 禁止 URL 直接访问 php文件
通过判断访问来源来实现. $fromurl="http://www.111.com/index.php"; //只能从这个地址访问 if( $_SERVER['HTTP_REFER ...
- javascript一元操作符(递增,递减)
<script type="text/javascript"> var a="1"; var b=false; var c="dd&quo ...
- uvaLive5713 次小生成树
uvaLive5713 修建道路使得n个点任意两点之间都可以连通,每个点有都有一定的人口,现在可以免费修一条道路, A是免费修的道路两端结点的人口之和, B的其它不是免费修道路的长度的总和 要求的是A ...
- UVALive 3890 Most Distant Point from the Sea(凸包最大内接园)
一个n个点的凸多边形,求多边形中离多边形边界最远的距离.实际上就是求凸包最大内接圆的半径. 利用半平面交求解,每次二分枚举半径d,然后将凸包每条边所代表的半平面沿其垂直单位法向量平移d,看所有平移后的 ...
- Android Wear
数据类型和接口的发送和同步数据概述
Android Wear数据层API,这是google play service部分,通信信道,以你的手持设备和耐磨应用. Api它包含一系列数据对象,可以让系统通过监控和通知行app重要的事件数据层 ...
- DLNA它 Error, can't findlibavformat ! 解
DLNA库版本号为libdlna-0.2.4 运行./configure出错: ------------------------------ Error, can't findlibavformat ...
- 行为驱动开发(BDD)
行为驱动开发(BDD) 引言 BDD是对TDD理念的扩展.BDD强调有利害关系的技术团体和非技术团队都要参与到软件开发过程中.可以把它看成一种强调团体间合作的敏捷方法.大多数采用某种敏捷方法的团队最终 ...
- 基于j2ee的程序代写MVC架构
人力资源管理系统 完成系统静态页面设计,页面数量不少于10个,页面需用CSS进行美化,并为需要验证的信息利用JavaScript提供客户端验证.要求至少包含部门信息及部门内员工信息的添加.修改.删除和 ...
- JavaScript权威指南科03章 种类、值和变量(1)
种类.值和变量 数据类型分类: 基本类型(primitive type):数位 弦 布尔值 null undefined 对象类型(object type): 对象是属性的集合,每一个属性都由&quo ...
- Windows8.1硬盘安装Ubuntu14.04双系统参考教程和多硬盘的注意事项[画画]
硬盘安装.无需光盘.U盘:Win8.1为主,Ubuntu14.04为辅,可将Windows或Ubuntu设置为开机默认启动项.在Ubuntu下可查看.操作Windows系统下的文件:适用于安装和14. ...