引言javascript
今天在建立java项目的时候遇到了不少的错误,在解决的过程当中遇到了一些根本不知道什么做用的文件,而后按照网上的一些作法能够将问题解决,可是这也说明咱们在学习的时候不少基础和细节的地方是咱们薄弱的地方,咱们老是对于常常写代码的那几个文件比较熟悉,这样一旦报错咱们就无从下手啊。 下面介绍几个文件。html
1、文件.mymetadata文件 java
一、部署项目用的,把项目部署到tomcat服务器上时,若是没有这个文件,用myeclipse/Eclipse部署是不能部署到关联的tomcat服务器。 node
二、在MyEclipse/Eclipse更改项目发布到Tomcat的文件夹
(1)、在本身的workspace中找到当前使用的项目,找到文件.mymetadata,打开后就会看见标签context- root=”/example”(example是本身应用的名称),能够将其改成别的名称。
(2)、选择:工程右键 --》Properties --》Myeclipse --》 Web
[Web-root folder]:/WebRoot
[Web Context-root]:/ROOT,修改context-root对应的值便可。(默认值:当前项目名称)
2、文件:.project
.project描述了一个Eclipse项目。
典型内容程序员
使用示例
Maven项目的配置web
一个Maven项目要确保有以下的内容,若是没有,能够手工加上下面的BuildCommand和natures:tomcat
禁止JavaScript的正确性校验
其实禁止正确性校验是一个很差的习惯,但不少人有这样的需求(唐僧:配置一下exclude路径多好啊,即能进行正确性校验又不会太影响速度),这里给出方案。删除以下的buildCommand便可,也可选择性的删除以下的nature:服务器
把一个Java项目变为dynamic web项目
加入以下的buildSpec、nature元素便可:app
拷贝攻略
.project文件能够从同类型的项目中直接拷贝,但须要修改/projectDescription/name里的项目名称。
参考资料eclipse
2、文件:.classpath
.classpath描述了一个Eclipse项目。
使用示例
项目有test/resources或test/java目录,可是不识别为classpath
酌情加入以下的classpathentry:
项目是maven工程,可是构建路径貌似怎么也配置不对
Maven是约定优于配置(convention over configuration)的,可是.classpath是配置型的,通常不会出现这种状况,若是出现了,检查maven约定的类路径(好比src/main/java、org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER)中是否有以下的元素:
Maven的依赖jar文件放不到/WEB-INF/lib里
确认或加入以下的配置:
界面配置方法
在项目Properties配置界面中,具体位置参考下图:
可移植的JDK配置
JDK配置
拷贝攻略
.classpath文件能够从同类型的项目中直接拷贝,有些目录没有的话,注意删掉对应的classpathentry,其余基本无需修改,若是有问题再考虑去改。但若是从别人的机器里拷贝,须要关注两点:
一、Java SDK的配置:若是Java SDK类型设置的是配置界面中的“Alternate JRE”,那么除非本身机器上装了对方机器名字同样的JDK(不是类型或者版本,而是Installed JREs配置中的名字),不然就须要修改JDK的配置。推荐使用配置界面中的“Execution Environment”来配置,避免绑定具体的JDK版本和实现,如<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7" />
二、若是Web项目使用了Web容器且绑定了project facet,那么就须要考虑Web容器配置的问题了,以Apache-tomcat为例,须要增长<classpathentry kind="con" path="org.eclipse.jst.server.core.Container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache-Tomcat v7.0" />,而"Apache-Tomecat v7.0"字符串须要与Eclipse Preferences里Server/Runtime Environments里的name一列保持一致。
参考资料
JDK为何建议配置成Execution Environment
1. 文件:.jsdtscope
.jsdtscope文件定义了web项目中的源码路径,也就意味着只有web project才会有这个配置。这些源码Eclipse会进行validate(若是validate没有禁用)。这个文件在实际开发中最大的价值在于定义JS文件的例外路径,在配置界面中配置的话挨个选很烦人。
典型内容
使用示例
配置JS的例外(通常用于让Eclipse不校验第三方JS文件,避免开启JS校验后Eclipse假死)
在.jsdtscope文件的<classpathentry kind="src" path="src/main/webapp"/>增长excluding属性,写法见“典型内容”一节。
界面配置方法
这一部分在Eclipse不一样版本里不同,Eclipse 4.5及之后版本能够参考下面的配置,4.4.X版本(更早的版本没有考证)只能配置到具体项目中,不能全局配置。若针对具体项目配置,配置界面在项目的properties里的以下位置:
若全局进行配置,在Window/Preferences/JavaScript/Include Path中进行配置,以下图:
拷贝攻略
.jsdtscope文件能够从同类型的项目中直接拷贝,基本无需修改。
2. 文件:org.eclipse.core.resources.prefs
org.eclipse.core.resources.prefs文件其实就是规定项目内的文件的编码用的。通常来讲一个项目里的文件编码须要一致,特别是文件文本内容自己没法指示文件自己编码的(比较绕,XML文件第一行能指示自身编码,CSS也有这个能力但用得很少),尽可能不要多种编码同时存在(最好在编码规范中禁止多重编码同时存在的现象发生)。
典型内容
使用示例
通常正常的项目打开后,应该看到是统一的编码,若是存在例外,能够对例外的文件进行转码,而后删除这个文件中例外的那一行。
拷贝攻略
org.eclipse.core.resources.prefs文件能够从同类型的项目中直接拷贝,无需修改。
3. 文件:org.eclipse.jdt.core.prefs
org.eclipse.jdt.core.prefs文件指定了一些Java编译的特性,好比Java版本之类的,看文件每一行的key能猜出具体的用处。
典型内容
使用示例
若是项目中源文件版本不正确,编译出来的目标版本不对,那么能够在这里进行修改。界面中修改的话,能够参考:
拷贝攻略
org.eclipse.jdt.core.prefs文件能够从同类型的项目中直接拷贝,无需修改。
4. 文件:org.eclipse.m2e.core.prefs
org.eclipse.m2e.core.prefs是一些maven相关的配置。
典型内容
version=1
使用示例
通常在Maven项目开发时和生产环境中配置不同,能够在pom.xml中指定不一样的profile来实现,Eclipse项目开发时指定profile的话(好比指定名叫dev的profile),就能够配置这个文件的activeProfiles属性。若是在界面中配置,在这里:
拷贝攻略
org.eclipse.m2e.core.prefs文件能够从同类型的项目中直接拷贝,无需修改。
5. 文件:org.eclipse.wst.common.component
org.eclipse.wst.common.component文件规定了项目怎么组装成一个webapp,这里能够玩不少种组装方式。
典型内容
使用示例
在某些项目中,从远程maven仓库下载zip组件(固然war组件最好,是maven自带支持的)解压并放到target,做为webapp一部分,就能够在这里修改组装webapp的方式。若是在界面中配置,在这里:
.classpath的界面配制方法
拷贝攻略
org.eclipse.wst.common.component文件不可直接拷贝,如需拷贝注意修改deploy-name、某些value等一些与项目名称相关的信息。
6. 文件:org.eclipse.wst.common.project.facet.core.xml
org.eclipse.wst.common.project.facet.core.xml指示了项目中启用那些facet及facet的版本。
典型内容
使用示例
界面配置在下面的位置:
在实际使用中有时候在Eclipse的facet配置了之后又恢复回去了,老是配不成功,那么就能够直接修改这个文件。常见的好比servlet版本不匹配,那么就能够修改jst.web这个facet的version,若是java版本不对,那么能够修改java这个facet的version。
拷贝攻略
org.eclipse.wst.common.project.facet.core.xml文件能够从同类型的项目中直接拷贝,基本无需修改。
9. 文件:org.eclipse.wst.validation.prefs
使用很少,无研究,略去。
典型内容
拷贝攻略
org.eclipse.wst.validation.prefs文件能够在项目间项目直接拷贝,无需修改。
五. 写在后面
有的配置是先后关联的,不是调整一个配置文件就能完事的,好比修改web工程里的Java版本,可能须要修改好几个配置文件。
这篇文章主要介绍了Eclipse项目中常见的自动生成的文件,这些文件均可以经过界面配置来修改,若是大量项目同时修改感受界面配置比较麻烦,能够学习这些配置文件的内容。普通程序员只须要了解有这么个东西,出了一些界面上配置失灵的状况,能够直接修改文件
参考文章:http://blog.csdn.net/huaweitman/article/details/52351394