<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="output" path="WebRoot/WEB-INF/classes"/> 1. <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"/></pre><br> 2. <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就是对应的这条语句 3. <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.j2eedt.core.MYECLIPSE_JAVAEE_5_CONTAINER"/>
这句是kind="con"当然和上条一样,是表示运行时的容器,
一般情况下是java web项目才会有,它是包含了J2EE服务器要使用到的一些jar包,
这个目录中的jar包是其中最特殊的,那就是它不会在部署项目的时候部署到服务器上去,
因为myeclipse认为这样的jar包是服务器应该有的,所以这里有时候会出现问题,
就是开发的时候不出现问题,但是部署之后会出错,就是有的服务器有的jar包并没有提供,
比如tomcat(因为tomcat并不是专业的web服务器,它只是一个轻量的web容器),这就要区分好开发环境和运行环境 4. <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/bsf-2.3.0.jar"/>
这条语句kind="lib",对应的是classpath中的库文件,path指定库文件的路径,
同样是相对与项目根目录的相对路径 5. <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 服务器本身要有那些jar包,所以那个例外不会进行拷贝 classpath是myeclipse重要文件,在进行相关的查找时候要用到
项目根目录下的".classpath“文件就是保存项目classpath的文件
文件中的 <classpath>... ...</classpath>之间保存各种classpath信息,
kind表示类型,path表示路径,且使用的都是相对于”.classpath“或者说是项目根目录的相对路径 几种kind的含义
kind=”src" ----对应source folder目录
kind="con"--项目的容器,一般当是java web项目的时候会有两个
kind="lib"---项目中使用到的库文件
kind='output"--输出目录,最终编译后相关文件的目标目录,myeclipse会自动完成相关的拷贝
最终对于myeclipse的classpath的管理都是通过这个文件实现
myeclipse项目中的.classpath文件:
<?xml version=”1.0” encoding=”UTF-8”?>
<classpath>
<!-- 源码目录 -->
<classpathentry kind=”src” path=”src”/>
<!-- JDK运行时容器 -->
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="melibrary.com.genuitec.eclipse.j2eedt.core.MYECLIPSE_JAVAEE_5_CONTAINER"/>
<!-- 以下为类库path为你自定义的目录,jar文件的路径 -->
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/sino-base-1.3.2.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/sino-bms-1.4.3.jar"/>
<classpathentry kind="lib" path="WebRoot/WEB-INF/lib/sino-frame-1.2.2.jar"/>
<!-- 编译后输出class目录 -->
<classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>
</classpath> --------------------------------------------------------------------------- .project文件: <?xml version=”1.0” encoding=”UTF-8”?>
<projectDescription>
<!-- 工程名称 这里定义的name的值如果已经工作空间的其他项目占用了,
当使用myeclipse的import功能导入项目时,就会导不进来-->
<name>sxVIP</name>
<comment></comment>
<projects></projects>
<!-- 编译器指定-->
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<!-- 核心特性 -->
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>com.genuitec.eclipse.ast.deploy.core.deploymentnature</nature>
<nature>com.genuitec.eclipse.j2eedt.core.webnature</nature>
</natures>
</projectDescription> -------------------------------------------------------------------------- 对于myeclipse工程多了一个(web 应用程序才有) .mymetadata文件: <?xml version=”1.0” encoding=”UTF-8”?>
<!--
type : 工程类型
name : 工程名称
id : 工程在工作空间内的唯一标识
context-root : 网站根路径
j2ee-spec: J2EE标准
archive : 打包后war文件
--> <project-module
type=”WEB”
name=”upload”
id=”myeclipse.1152954865843”
context-root=”/upload”
j2ee-spec=”1.4”
archive=”upload.war”>
<attributes>
<!-- value : Web根目录名称 -->
<attribute name=”webrootdir” value=”WebRoot” />
</attributes>
</project-module>

当为myeclipse的项目修改部署的名字时,

.mymetedata文件中的context-root的值会相应的变化

解析Myeclipse项目下的.classpath文件的更多相关文章

  1. Intellij Idea编译项目下的.java文件时的编码问题

    Intellij Idea编译项目下的.java文件时的编码问题 原创 2015年07月22日 21:45:14 10510 由<编译.java文件时的编码问题>可知,在编译.java文件 ...

  2. 新建项目下的web文件夹下的dynamic web project和static web project和web fragment project的区别

    dynamic web project是Eclipse的项目,与其对应的有static web project,前者指动态web项目,包含一些动态代码,如java:而static web projec ...

  3. Java项目下的classpath路径包括哪里

    https://my.oschina.net/zjllovecode/blog/916927 classpath指的是.classpath下kind="src" 的路径

  4. Maven项目下WEB-INFO目录下没有编译的classes文件

    建立mavan项目之后,在项目目录中没有发现编译的classes文件夹 解决办法: 因为maven是默认将编译后的classes文件存入项目下的target文件夹中,所以我们需要修改编译后存放的路径, ...

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

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

  6. eclipse 新建项目下后.metadata\.plugins的文件夹解释和如何保存自己的特定工程设置

    eclipse 新建项目下后.metadata\.plugins的文件夹解释和如何保存自己的特定工程设置 [org.eclipse.core.runtime] 字体,maven的setting.xml ...

  7. myeclipse 不能重新编译 web .classpath文件修改

    这个问题困扰我好久了,就是当你从另一个workspace中拷到另一个workspace中,然后在import进myeclipse中就会出现无论你怎么改代码,编译完成后webroot目录下的classe ...

  8. 代码实现将键盘录入的数据拷贝到当前项目下的text.txt文件中,键盘录入数据当遇到quit时就退出

    package com.looaderman.test; import java.io.FileNotFoundException; import java.io.FileOutputStream; ...

  9. myeclipse工程当中的.classpath 和.project文件什么作用?

    .project是项目文件,项目的结构都在其中定义,比如lib的位置,src的位置,classes的位置.classpath的位置定义了你这个项目在编译时所使用的$CLASSPATH .classpa ...

随机推荐

  1. jQuery官方基础教程笔记(转载)

    本文转载于阮一峰的博文,内容基础,结构清晰,是jquery入门不可多得的资料,非常好,赞一个. 阮一峰:jQuery官方基础教程笔记 jQuery是目前使用最广泛的javascript函数库. 据统计 ...

  2. (转) 在C#用HttpWebRequest中发送GET/HTTP/HTTPS请求

    转自:http://blog.csdn.net/zhoufoxcn/article/details/6404236 通用辅助类 下面是我编写的一个辅助类,在这个类中采用了HttpWebRequest中 ...

  3. [UE4]武器碰撞

    实现武器战斗伤害系统,击中时如何发出碰撞事件产生伤害,目前探索的有通过物理碰撞和LineTrace两种方法. 物理碰撞通过Overlap事件的方法,优点是易于实现,缺点是无法具体到碰撞骨骼位置,低帧数 ...

  4. "产品测试管理&敏捷项目管理"研讨会在深圳成功举办!

    2016年1月9日,由深圳市共创力企业管理咨询发起的"产品测试管理&敏捷项目管理"研讨会在深圳南山科技园创新谷咖啡成功举办!参加此次研讨会的企业有华为.中兴.烽火.腾讯.康 ...

  5. 用c#开发微信 (21) 微信酒店预订系统

    本系统主要是帮助酒店让客户可以通过微信预订房间,增加酒店的入住率. 1 微信里订酒店 1.1关注微信号 用微信扫描下面的二维码(微信号 webuscn),关注此微信号 1.2订房 点击微信号里的 微布 ...

  6. AutoMapper在ABP框架中的使用说明

    为了说明AutoMapper如何使用,我专门开设了一个专题来讲,如果您还没有查看该专题,请点击这里.既然系统地学习了AutoMapper,那么接下来就是该用它实战的时候了.今天,我们就来揭开AutoM ...

  7. javascript中的splice方法介绍&示例

    javascript 中的 splice 方法很强大,它可以用于插入.删除或替换数组的元素. 下面来一一介绍! 删除:用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数 ...

  8. jenkins2 pipeline实例

    比较完整的实例,使用了maven打包,git tag,发通知邮件,等待用户deploy,deploy到nexus. 文章来自:http://www.ciandcd.com文中的代码来自可以从githu ...

  9. 基于.NET的Excel开发:单元格区域的操作(读取、赋值、边框和格式)

    引用 using Excel = Microsoft.Office.Interop.Excel; 定义 Excel.ApplicationClass app; Excel.Workbooks book ...

  10. 25款顶级的jQuery表格插件

    jQuery 表格插件可以让你创建各种各样的表格布局,表格布局是报纸和杂志中最常见的布局,现在的网站中也很常见,在这篇文章中,我向大家推荐25个jQuery 的表格插件,你可以任意控制表格的行和列,用 ...