很多初學者,在用MyEcplise建構javaWeb項目是都會有一個疑惑,也可以說是一個通病吧,有時候把項目名改了,但是換了一台電腦就不行了。有時候甚至氣的想摔電腦有沒有?
其實我們可以看看,我們建立Web項目是都有什麼檔案。
我們可以看到除了必須的src和WebRoot外還有三個檔案,一個檔案夾。.myecplise這個檔案夾。這其實就像一個标志一樣,比如IDEA的就是.idea。
下面的.setting則是存的一些架包。
再下面則是.classpath檔案
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<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_6_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>
</classpath>
這是内部的代碼,其實就是一段配置。類似我們的xml。第一行,自然是定義格式之類的。下面呢,則是一些路徑。可以看到最後一行是編譯後的java檔案,儲存格式為class。
<?xml version="1.0" encoding="UTF-8"?>
<project-module
type="WEB"
name="EL and JSTL"
id="myeclipse.1539758233566"
context-root="/EL and JSTL"
j2ee-spec="6.0"
archive="EL and JSTL.war">
<attributes>
<attribute name="webrootdir" value="WebRoot" />
</attributes>
</project-module>
接着,下面的.mymetadata檔案,則是配置整體Web的,project就是一個項目的意思,内部都是屬性,name自然是項目名,context-root這個自然是頁面通路時的位址,archive這個是打成的war包。
下面還有一個.project就是和我說的那個問題有關系的啦。
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>EL and JSTL</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.genuitec.eclipse.j2eedt.core.WebClasspathBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.genuitec.eclipse.j2eedt.core.J2EEProjectValidator</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.genuitec.eclipse.j2eedt.core.DeploymentDescriptorValidator</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>com.genuitec.eclipse.j2eedt.core.webnature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
</natures>
</projectDescription>
我們可以看到第一個标簽name,那個就是項目名,之後的<buildCommand>這個标簽就是我們導入的架包的建構路徑。也就是在lib包下的。
<natures>這個标簽内則是架包配置。