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的更多相关文章

  1. 解析Myeclipse项目下的.classpath文件

    <classpathentry kind="src" path="src"/> <classpathentry kind="con& ...

  2. myeclipse中的classpath .

    博客分类: java基础   myeclipse中的classpath是一个很重要的问题 myeclipse的在查找的时候都是按照其查找,而且myeclipse有一个专门的文件来保存classpath ...

  3. idea和eclipse的区别

    使用基于IntelliJ的IDE,都会对project和module的关系比较糊涂.用简单的一句话来概括是: IntelliJ系中的Project相当于Eclipse系中的workspace.Inte ...

  4. java-----遇到问题------myeclipse----发布项目到tomcat中lib文件夹没有子项目产生ClassNotFoundException错误

    情况 myeclipse发布项目到tomcat中lib文件夹没有子项目产生ClassNotFoundException错误. 这种情况一般是 .classpath文件设置的输出路径不对导致的. 1.. ...

  5. eclipse的一些部署

    1. Eclipse导入一个项目Package Exporer-------右键------import------General------Existing Project into Workspa ...

  6. SVN — subclipse操作指引

    摘自: http://jiangzhengjun.iteye.com/blog/491824 安装插件:请参照http://subclipse.tigris.org/servlets/ProjectP ...

  7. 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 ...

  8. Eclipse和MyEclipse工程描述符.classpath和.project和.mymetadata详解aaaaaa(转)

    Eclipse和MyEclipse工程描述符.classpath和.project和.mymetadata详解(转) (2012-03-28 15:06:54) 转载▼ 标签: .mymetadata ...

  9. MyEclipse Workspace 项目文件 .project .classpath .mymetadata解析

    <!-- .classpath文件 --> <?xml version="1.0" encoding="UTF-8"?> <cla ...

随机推荐

  1. Linux进程同步之记录锁(fcntl)

    记录锁相当于线程同步中读写锁的一种扩展类型,可以用来对有亲缘或无亲缘关系的进程进行文件读与写的同步,通过fcntl函数来执行上锁操作.尽管读写锁也可以通过在共享内存区来进行进程的同步,但是fcntl记 ...

  2. HDU 1241 :Oil Deposits

    Oil Deposits Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tot ...

  3. ECSHOP分类页面筛选功能(按分类下子分类和品牌筛选)

    其实分类页面里面本来就有相关的品牌.属性.分类的筛选功能在category.php和模板加上相应的功能即可 1.读出当前分类的所有下级分类 $chlidren_category = $GLOBALS[ ...

  4. Pro Android学习笔记(六一):Preferences(5):组织Preference

    PreferenceCategory 假设有多个preference,我们希望能在他们组织在一起.有两种方式,一种就是我们在复合preference中,利用PreferenceScreen进行嵌套,或 ...

  5. SQL声明发育异常导致项目错误

    1.错误叙述性说明 严重:Exception occurred during processing request:Statement Callback;SQL[   ];OALL8处于不一致状态; ...

  6. Windows远程桌面连接Ubuntu 14.04 (转)

    由于xrdp.gnome和unity之间的兼容性问题,在Ubuntu 14.04版本中仍然无法使用xrdp登陆gnome或unity的远程桌面,现象是登录后只有黑白点为背景,无图标也无法操作.与13. ...

  7. Linux下 目录 压缩 解压缩 打包

    http://blog.sina.com.cn/s/blog_7479f7990100zwkp.html tar -zcvf /home/xahot.tar.gz /xahot    tar -zcv ...

  8. mysqldump: Couldn't execute 'show events': Cannot proceed because system tables used by Event Schedu

    最近将老版本的mysql 实例倒入 percona 5.5.30,使用的是线上的全备,结果将mysql 库下的表也倒入了,这下可悲剧了,备份报错. 没办法,将mysql库下的数据倒出来,清空,再倒入p ...

  9. 玩转html5(一)-----盘点html5新增的那些酷酷的input类型和属性

    今天正式开始学习html5了,相比html以前的版本,html5新增了好多功能,属性,使我们做出来的界面更加的绚丽,而且使用起来超级简单,这篇文章先来说说html增加的那些input类型和属性. 这些 ...

  10. 神马是AB測试?

    手机响起了短信提示音,桂芬拿起手机,滑动解锁,看到是来福的短信,心里不禁一阵小鹿乱撞.     "喜欢看<冰封重生之门>吗?"     如此充满暗示意味的短信让桂芬激动 ...