eclipse下環境變量設置:eclipse導入工程出現 Unbound classpath variable Error

在導入網友提供的Tomcat源碼工程時候出現了

The project cannot be build until build path errors are resolved

Unbound classpath variable:"a_Tomcat6-depend/ant1.7/ant.jar " in project Tomcat6

弄了一個早上才意識到錯誤出現在工程的“.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="var" path="a_Tomcat6-depend/ant1.7/ant.jar"/>

 <classpathentry kind="var" path="a_Tomcat6-depend/puretls-0.95/puretls-0.95.jar"/>

 <classpathentry kind="var" path="a_Tomcat6-depend/commons/common-logging1.1.1/commons-logging-1.1.1.jar"/>

 <classpathentry kind="var" path="a_Tomcat6-depend/jaxrpc1.1/jaxrpc.jar"/>

 <classpathentry kind="var" path="a_Tomcat6-depend/jdt3.3/org.eclipse.jdt.core_3.3.0.v_771.jar"/>

 <classpathentry kind="var" path="a_Tomcat6-depend/wsdl4j-1.5.1/wsdl4j-1.5.1.jar"/>

 <classpathentry kind="output" path="classes"/>

</classpath>

發現目錄裏並不存在"a_Tomcat6-depend"一文件夾,而實際目錄爲“Tomcat6/lib/ant1.7/ant.jar”。於是把該設置改爲“lib/ant1.7/ant.jar”,依然報同類錯誤。於是很自然地對“.classpath”定義的方式產生了興趣,終於找到一篇高手寫的關於“eclipse下環境配置”的文章。

原來<classpathentry kind="var" path="a_Tomcat6-depend/ant1.7/ant.jar"/>這種定義方式是運用了eclipse的環境變量,換句話說 a_Tomcat6-depend 應該是一個環境變量(make sense!)。

於是 Window->Refernces->Java->Build Path->Classpath Variables

定義了一個name爲a_Tomcat6-depend

Then,Done.

**************************************************************************************

 eclipse中需要關聯到第三方JAR文件時,可以直接添加JAR文件,也可以增加環境變量的形式來添加JAR文件,當然原理都是一樣的,都是引用 JAR文件,除了可以直接右點擊工程,屬性,在"Java Build Path"中添加外,其實還可以直接編輯工程目錄下的 .classpath這個文件,這個文件即是記錄工程中的一些環境變量及工程中文件的輸出目的的,此文件結構大至如下:

<?xml version="1.0" encoding="UTF-8"?>

<classpath>

    <classpathentry kind="src" path="src/java"/>

    <classpathentry kind="src" output="target/test-classes" path="src/test"/>

    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>

    <classpathentry kind="var" path="MAVEN_REPO/activation/jars/activation-1.0.jar"/>

    <classpathentry kind="var" path="MAVEN_REPO/mvc/jars/mvc-1.0.jar"/>

    <classpathentry kind="var" path="MAVEN_REPO/ehcache/jars/ehcache-1.0.jar"/>

    <classpathentry kind="var" path="MAVEN_REPO/CodeManager/jars/CodeManager-1.0.jar"/>

    <classpathentry kind="var" path="MAVEN_REPO/jetspeed/jars/jetspeed-1.4.jar"/>

    <classpathentry kind="var" path="MAVEN_REPO/dwr/jars/dwr-1.1.1.jar"/>

    <classpathentry kind="var" path="MAVEN_REPO/servletapi/jars/servletapi-2.4.jar"/>

    <classpathentry kind="var" path="MAVEN_REPO/jspapi/jars/jsp-api-2.0.jar"/>

    <classpathentry kind="lib" path="D:/workspace/repository/junit/jars/junit-3.8.1.jar"/>

    <classpathentry kind="output" path="target/classes"/>

</classpath>

其中,src是源文件輸出目的的,output是類文件輸出目的的,con是eclipse運行時所需的核心包,var是通過環境變量的形式增加的一些 JAR包,lib是直接加入的JAR包,所以需要加入一些第三方的JAR文件時,直接編輯此文件即可,eclipse不需重啓,工程即可生效.

有關說明:

     有時從別的工程導入到另一個工程時,工程名旁邊有一個紅插,而這時可能有很多人認爲是某個地方導入的不對,或有些文件沒導入完全,當然也有這個可能,但大多數是因爲原工程中引入了一些環境變量,而導入到本機上的eclipse時,環境變量路徑發生了變化,eclipse找不到相關的JAR文年,所以工程名旁邊有一個紅插,而且這時當新建類,或編輯類時,類文件都不會編繹的,甚至有人認爲此時是eclipse不能自動編繹了,查看自動編繹屬性時又是自動編繹的,換到其他工程時又可以自動編繹,所以可能一時找不到原因,其實是.classpath文件中的一些環境變量的路徑不正確導致的,去掉或指向正確的路徑即可


來自:http://www.cnblogs.com/lm002003/archive/2012/03/08/2385006.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章