.classpath .project文件作用 .mymetadata这三个文件起什么作用

Eclipse和MyEclipse工程描述符.classpath和.project和.mymetadata详解
&&&&有时候在一个Java工程里我们需要加入第三方jar包,这时你加入的最好相对路径,
而不是绝对路径。否则你的工程拿到别处就不行运行了。意思就是说你最好把相关的jar放到工程目录下。
对于Web工程来说相对简单,web工程是有个lib目录的。直接复制到这里就行了。
而非web工程是不可以的。Eclispe是不能自动完成导入copy的。
这就需要我们手动配置,对于工作描述文件,Eclipse和MyEclpse全是用xml来描述的。
现在我们来看看Eclipse的:
.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”/&
&!-- 以下为类库path为你自定义的目录,需要导入的jar文件 --&
&classpathentry kind=”lib” path=”lib/swing-layout-1.0.3.jar”/&
&classpathentry kind=”lib” path=”lib/AbsoluteLayout.jar”/&
&classpathentry kind=”lib” path=”lib/jtds-1.2.2.jar”/&
&classpathentry kind=”lib” path=”lib/jxl.jar”/&
&!-- 编译后输出class目录 --&
&classpathentry kind=”output” path=”bin”/&
&/classpath&
---------------------------------------------------------------------------
.project文件:
&?xml version=”1.0” encoding=”UTF-8”?&
&projectDescription&
&!-- 工程名称 &name&--&
&name&execlInterface&/name&
&comment&&/comment&
&projects&&/projects&
&!-- 编译器指定 &buildSpec&--&
&buildSpec&
&buildCommand&
&name&org.eclipse.jdt.core.javabuilder&/name&
&arguments&&/arguments&
&/buildCommand&
&/buildSpec&
&!-- 核心特性 &natures& --&
&nature&org.eclipse.jdt.core.javanature&/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.3”
context-root=”/upload”
j2ee-spec=”1.4”
archive=”upload.war”&
&attributes&
&&&!-- value : Web根目录名称 --&
&&&&&attribute name=”webrootdir” value=”WebRoot” /&
&/attributes&
&/project-module&
-------------------------------------------------------------------------
在eclipse更改工程的发布文件夹
可以在自己的workspace中找到当前使用的工程,找到文件.mymetadata,打开后就会看见标签context- root=”/example”(example是自己应用的名称),可以将其改为别的名称,另外也可以在eclipse中改:选中要修改的project,之后在菜单project中选中properties,选中Myeclipse-Web,就可以看见标签context-root即可修改
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1575597次
积分:15406
积分:15406
排名:第553名
原创:588篇
评论:130条
(1)(2)(1)(8)(8)(1)(9)(20)(22)(1)(3)(2)(2)(1)(121)(85)(9)(2)(2)(3)(1)(9)(5)(21)(31)(35)(23)(45)(25)(78)(14)http://blog.csdn.net/zhuyu_deng/article/details/
project&是项目文件,项目的结构都在其中定义,比如lib的位置,src的位置,classes的位置
.classpath&的位置定义了你这个项目在编译时所使用的$CLASSPATH
这些文件你用文本编辑器就能察看了
在一个项目中点刷新的目的是为了更新.project文件中的文件清单,让你把不通过eclipse提交到项目的文件显示出来
.classpath 文件
&&&&&&&&&?xml version=&1.0& encoding=&UTF-8&?&
&classpath&
&&&&&&& &classpathentry kind=&src& path=&src&/&
&&&&&&& &classpathentry kind=&src& path=&test&/&
&&&&&&& &classpathentry kind=&con& path=&org.eclipse.jdt.launching.JRE_CONTAINER&/&
&&&&&&& &classpathentry kind=&con& path=&org.eclipse.jdt.junit.JUNIT_CONTAINER/4&/&
&&&&&&& &classpathentry kind=&lib& path=&lib/dom4j-1.6.1.jar&&
&&&&&&&&&&&&&&& &attributes&
&&&&&&&&&&&&&&&&&&&&&&& &attribute name=&javadoc_location& value=&file:/home/wpc/Work/Apache/dom4j-1.6.1/docs/api$
&&&&&&&&&&&&&&& &/attributes&
&&&&&&& &/classpathentry&
&&&&&&& &classpathentry kind=&output& path=&bin&/&
&/classpath&
& 从数据上我们容易看出,上面描述了工程的依赖文件:
源文件的具体位置(kind=&src&)运行的系统环境(kind=&con&)工程的library的具体位置信息(kind=&lib&)在每个lib的xml子节点中,有关于它的其它配置信息(例如我配置的那个&javadoc_location&)项目的输出目录(kind=&output&)
总体上说这个文件就是配置整个工程的运行环境。
&&&&&.project&文件
&&&&&&&?xml version=&1.0& encoding=&UTF-8&?&
&projectDescription&
&& &&name&CreateInterpret&/name&
&& &&comment&JavaCC Nature@key F777063 &/comment&
&& &&projects&
&& &&/projects&
&& &&buildSpec&
&& &&&& &buildCommand&
&& &&&& &&& &name&sf.eclipse.javacc.javaccbuilder&/name&
&& &&&& &&& &arguments&
&& &&&& &&& &/arguments&
&& &&&& &/buildCommand&
&& &&&& &buildCommand&
&& &&&& &&& &name&org.eclipse.jdt.core.javabuilder&/name&
&& &&&& &&& &arguments&
&& &&&& &&& &/arguments&
&& &&&& &/buildCommand&
&& &&/buildSpec&
&& &&natures&
&& &&&& &nature&org.eclipse.jdt.core.javanature&/nature&
&& &&&& &nature&sf.eclipse.javacc.javaccnature&/nature&
&& &&/natures&
&/projectDescription&
&从数据上看,我们可以了解到这些配置主要是描述工程的基本信息:
工程名&name&&/name&工程注释描述&comment&&/comment&运行时需要的额外Eclipse插件&natures&&/natures&,及其具体加载方式信息&buildSpec&&/buildSpec&
如果你在开发过程中向工程里面加入了很多额外的插件,则必然会导致你的Eclipse启动速度变慢。在这种情况下,你可以到这个文件里面去掉一些插件,不过这样一来你在开启那些关联文件的时候会加载那些插件。
JAVA中path和classpath具体是什么意思?
path 路径,是java编译时需要调用的程序(如java,javac等)所在的地方
classpath 类的路径,在编译运行java程序时,如果有调用到其他类的时候,在classpath中寻找需要的类。
eclipse&WEB项目开发时,项目文件组织结构是怎样的?
规范的规定,一个典型的 Web 应用程序有四个部分:
公开目录 ;
2. WEB-INF/ 文件,发布描述符(必选) ;
3. WEB-INF/classes 目录,编译后的 Java类文件(可选) ;
4. WEB-INF/lib 目录,Java类库文件(*.jar) (可选) ;
公开目录存放所有可以被用户的访问的资源, 包括
.html, .jsp, .gif, .jpg, .css, .js, .swf 等等。
WEB-INF 目录是一个专用区域, 容器不能把此目录中的内容提供给用户。
这个目录下的文件只供容器使用,里面包含不应该由客户直接下载的资源,
例如: Servlet(这些组件包括应用程序逻辑以及对其他资源如数据库的可能访问), Web应用程序中servlet可直接访问的其他任何文件,在服务器方运行或者使用的资源(如 Java类文件和供 servlet 使用的 JAR文件),由您的应用程序生成的临时文件,,发布描述符以及其它任何配置文件。
这些资源是专用的, 因此只能由它们自己的 Web应用程序及容器访问。
特别地,JSP/Servlet
也能通过 ServletContext 访问到这个目录下的文件,
例如 JSP 中可以通过application.getRealPath(“/WEB-INF/”) 访问到发布描述符文件的路径。
Web容器要求在你的应用程序中必须有 WEB-INF 目录。
注意: 如果你的 Web 应用程序中没有包含这个目录, 它可能将无法工作
WEB-INF 中包含着发布描述符, 一个 classes 目录和一个 lib目录, 以及其它内容。
发布描述符(deployment descriptors)是 J2EE Web 应用程序不可分割的一部分(也就是说是它的最小部分, 必不可缺的一部分)。
它们在应用程序发布之后帮助管理 Web 应用程序的配置。
对于Web 容器而言, 发布描述符是一个名为
的 XML 文件, 存储在 Web 应用程序的 /WEB-INF目录下。
发布描述符有多种用途:
为 Servlet 和 Web 应用程序提供初始化参数
这使我们的Web应用程序中的硬性编写的代码的初始化值更少。 例如常见的 &param-name&, &param-value&标记, 就可以为Servlet 提供参数, 这个参数可以在 init() 方法中加载。
Struts 的 ActionServlet 也是通过这种方式来找到它们需要的配置文件 struts-config.xml 的位置, 从而加载并分析它,来初始化 Struts 框架用到的各种 FromBean, Action, Forward等。
Servlet/JSP 定义 可以为 Web 应用程序中的每个 Servlet 或者预编译的 JSP 网页提供定义。
包括Servlet/JSP的名字, Servlet/JSP 的类以及一个可选的描述。
Servlet/JSP 映射
Web容器使用这些信息把进入请求映射到 servlet 和 JSP 网页。
由于每个 Web 应用程序可以包含多种内容类型, 因此我们可以在发布描述符中为每一种类型指定 MIME 类型。
我们可以使用发布描述符来管理应用程序的。 例如, 可以指定我们的Web应用程序是否需要登录, 如果需要的话, 应该使用什么登录页面, 以及用户会作为何种角色。
发布描述符还可以用来自定义其他元素, 包括欢迎网页, 出错网页, 会话配置等等。
classes 目录用于存储编译过的 servlet 及其它程序类, 例如 JavaBean。
如果一个程序有打包的 JAR 文件(例如一个第三方 API 打包成了一个 JAR 文件, 如 Struts 框架的类库struts.jar, MySQL 的数据库 JDBC 驱动 mysql-connector-java-3.1.11-bin.jar 等),
那么它们可以被复制到lib目录中(如果解压缩这些压缩包的话, 请将它们复制到classes目录中)。
Web 容器使用这两个目录来查找 servlet 及其他相关类, 也就是说, 容器的类装入器会自动查看 classes 目录, 以及 lib目录下的 JAR文件。
这就意味着你不需要明确的把这些类和 JAR文件添加到 CLASSPATH中。
Web容器自动将这两个目录中的文件加入 Web应用的类路径中。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:135384次
积分:5068
积分:5068
排名:第4402名
原创:367篇
转载:22篇
(18)(22)(107)(72)(7)(7)(36)(21)(9)(66)(1)(9)(10)(17)(1).classPath及.project文件
.classPath文件:
&?xml version="1.0"
encoding="UTF-8"?&
&classpath&
&classpathentry kind="src"
path="src"/&
&classpathentry kind="src"
path="resources"/&
&classpathentry kind="src"
path="test"/&
&classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/&
&classpathentry kind="con"
path=".genuitec.eclipse.j2eedt.core.MYECLIPSE_JAVAEE_5_CONTAINER"/&
&classpathentry kind="con"
path="org.eclipse.jst.j2ee.internal.web.container"/&
&classpathentry kind="con"
path="org.eclipse.jst.j2ee.internal.module.container"/&
/com.springsource.org.codehaus.jackson.mapper-1.0.0.jar"/&
&classpathentry kind="lib"
path="WebRoot/WEB-INF/lib/spring/org.springframework.oxm-3.0.5.RELEASE.jar"/&
&classpathentry kind="lib"
path="WebRoot/WEB-INF/lib/struts/commons-logging-api-1.1.jar"/&
&classpathentry kind="lib"
path="WebRoot/WEB-INF/lib/struts/ezmorph-1.0.3.jar"/&
&classpathentry kind="lib"
path="WebRoot/WEB-INF/lib/struts/freemarker-2.3.16.jar"/&
&classpathentry kind="lib"
path="WebRoot/WEB-INF/lib/struts/json-lib-2.1-jdk15.jar"/&
&。。。。。。
&classpathentry kind="lib"
path="WebRoot/WEB-INF/lib/struts/commons-fileupload-1.2.2.jar"/&
&classpathentry kind="lib"
path="WebRoot/WEB-INF/lib/MD5-0.1.jar"/&
&classpathentry kind="output"
path="WebRoot/WEB-INF/classes"/&
&/classpath&
源文件的具体位置(kind="src")
运行的系统环境(kind="con")
工程的library的具体位置信息(kind="lib")
在每个lib的xml子节点中,有关于它的其它配置信息(例如我配置的那个"javadoc_location")
项目的输出目录(kind="output")
.project文件内容:
&?xml version="1.0"
encoding="UTF-8"?&
&projectDescription&
&name&logistics&/name&
&comment&&/comment&
&projects&
&/projects&
&buildSpec&
&buildCommand&
&name&org.mon.project.facet.core.builder&/name&
&arguments&
&/arguments&
&/buildCommand&
&buildCommand&
&name&com.genuitec.eclipse.ast.deploy.core.DeploymentBuilder&/name&
&arguments&
&/arguments&
&/buildCommand&
&/buildSpec&
&nature&com.genuitec.eclipse.ast.deploy.core.deploymentnature&/nature&
。。。。。
&nature&org.mon.project.facet.core.nature&/nature&
&nature&org.mon.modulecore.ModuleCoreNature&/nature&
&nature&com.genuitec.eclipse.cross.easystruts.eclipse.easystrutsnature&/nature&
&/natures&
工程名&name&&/name&
工程注释描述&comment&&/comment&
运行时需要的额外Eclipse插件&natures&&/natures&,及其具体加载方式信息&buildSpec&&/buildSpec&
.settings文件:
里面存放各种插件的配置文件(此图没有画好,请高手指点)
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。java(29)
& &有时候在一个Java工程里我们需要加入第三方jar包,这时你加入的最好相对路径,
而不是绝对路径。否则你的工程拿到别处就不行运行了。意思就是说你最好把相关的jar放到工程目录下。
对于Web工程来说相对简单,web工程是有个lib目录的。直接复制到这里就行了。
而非web工程是不可以的。Eclispe是不能自动完成导入copy的。
这就需要我们手动配置,对于工作描述文件,Eclipse和MyEclpse全是用xml来描述的。
现在我们来看看Eclipse的:
.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”/&
&!-- 以下为类库path为你自定义的目录,需要导入的jar文件 --&
&classpathentry kind=”lib” path=”lib/swing-layout-1.0.3.jar”/&
&classpathentry kind=”lib” path=”lib/AbsoluteLayout.jar”/&
&classpathentry kind=”lib” path=”lib/jtds-1.2.2.jar”/&
&classpathentry kind=”lib” path=”lib/jxl.jar”/&
&!-- 编译后输出class目录 --&
&classpathentry kind=”output” path=”bin”/&
&/classpath&
---------------------------------------------------------------------------
.project文件:
&?xml version=”1.0” encoding=”UTF-8”?&
&projectDescription&
&!-- 工程名称 &name&--&
&name&execlInterface&/name&
&comment&&/comment&
&projects&&/projects&
&!-- 编译器指定 &buildSpec&--&
&buildSpec&
&buildCommand&
&name&org.eclipse.jdt.core.javabuilder&/name&
&arguments&&/arguments&
&/buildCommand&
&/buildSpec&
&!-- 核心特性 &natures& --&
&nature&org.eclipse.jdt.core.javanature&/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.3”
context-root=”/upload”
j2ee-spec=”1.4”
archive=”upload.war”&
&attributes&
& &!-- value : Web根目录名称 --&
& & &attribute name=”webrootdir” value=”WebRoot” /&
&/attributes&
&/project-module&
-------------------------------------------------------------------------
在eclipse更改工程的发布文件夹
可以在自己的workspace中找到当前使用的工程,找到文件.mymetadata,打开后就会看见标签context- root=”/example”(example是自己应用的名称),可以将其改为别的名称,另外也可以在eclipse中改:选中要修改的project,之后在菜单project中选中properties,选中Myeclipse-Web,就可以看见标签context-root即可修改
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:151827次
积分:1944
积分:1944
排名:第16546名
原创:32篇
转载:92篇
评论:19条
(2)(1)(1)(1)(1)(1)(8)(18)(14)(4)(6)(8)(1)(7)(11)(15)(5)(6)(2)(11)(1)

我要回帖

更多关于 mymetadata是什么文件 的文章

 

随机推荐