引言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