<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. thinkpad E450 fn快捷键设置

    只要按fn+esc两个按键就可以切换fn按键的使用方式

  2. elixir 高可用系列 - 目录

    1. elixir 高可用系列(一) Agent 2. elixir 高可用系列(二) GenServer 3. elixir 高可用系列(三) GenEvent 4. elixir 高可用系列(四) ...

  3. weblogic10.3.6 自动启动服务后停止的解决方案

    windows部署weblogic后,需要手动开启weblogic管理员服务器,即Start Admin Server for Weblogic Server Domain,不过这样的话每次重启或者不 ...

  4. 关于RESTFUL API 安全认证方式的一些总结

    常用认证方式 在之前的文章REST API 安全设计指南与使用 AngularJS & NodeJS 实现基于 token 的认证应用两篇文章中,[译]web权限验证方法说明中也详细介绍,一般 ...

  5. 在ASP.NET 5中显示错误信息

    在 ASP.NET 5 中如果不进行显示错误信息的相关配置,在发生错误时,在浏览器中只能看到空白页面. 显示错误信息的配置方法如下: 1)在 project.json 中添加对 Microsoft.A ...

  6. Nginx学习笔记(八) Nginx进程启动分析

    Nginx进程启动分析 worker子进程的执行循环的函数是ngx_worker_process_cycle (src/os/unix/ngx_process_cycle.c). 其中,捕获事件.分发 ...

  7. [读书笔记]C#学习笔记八:StringBuilder与String详解及参数传递问题剖析

    前言 上次在公司开会时有同事分享windebug的知识, 拿的是string字符串Concat拼接 然后用while(true){}死循环的Demo来讲解.其中有提及string操作大量字符串效率低下 ...

  8. Django基础——Model篇(一)

    到目前为止,当程序涉及到数据库相关操作时,我们一般都会这么操作:    (1)创建数据库,设计表结构和字段    (2)使用MySQLdb来连接数据库,并编写数据访问层代码    (3)业务逻辑层去调 ...

  9. Android shape 渐变!描边!圆角!示例详解

    看看shape的用法,确实很有帮助.这里我偷懒转一篇比较详细的帖子,和大家一起进步~! Android 中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对shape有了大体 ...

  10. How Tomcat works — 八、tomcat中的session管理

    在使用shiro的session的时候感觉对于tomcat中session的管理还不是特别清楚,而且session管理作为tomcat中比较重要的一部分还是很有必要学习的. 目录 概述 session ...