在我的兩個jar文件下有一個類文件TagAttributeInfo
。如何優先考慮eclipse classpath中的jar文件?
j2ee-6.1.jar,servlet-api-2.3.jar .
現在我需要一個類從j2ee-6.1.jar
被稱作但在運行時,它走的是類servlet-api-2.3.jar
,這是我不想要的。 任何人都可以幫助我在課程路徑中優先考慮jar文件,這樣我會優先考慮j2ee-6.1.jar
。
在我的兩個jar文件下有一個類文件TagAttributeInfo
。如何優先考慮eclipse classpath中的jar文件?
j2ee-6.1.jar,servlet-api-2.3.jar .
現在我需要一個類從j2ee-6.1.jar
被稱作但在運行時,它走的是類servlet-api-2.3.jar
,這是我不想要的。 任何人都可以幫助我在課程路徑中優先考慮jar文件,這樣我會優先考慮j2ee-6.1.jar
。
您移動它在類路徑順序(右鍵單擊該項目,選擇構建路徑,其次是配置構建路徑,然後排序和導出)
它將使用它在類路徑中找到的第一個包含它正在查找的類的jar。所以你可以通過將jar放在類路徑的開頭來優先考慮你的類。
如何在Eclipse中做到這一點我不確定,但可能有一些與類路徑上的jar對應的項目依賴關係列表,並且希望您可以對列表中的元素進行排序並將jar放在頂端。嘗試在項目設置面板中查找它。
我不知道它是否是規範的一部分,但是當我在過去完成此操作時將較早的「較高」優先級的jar放在類路徑中。
你確定你需要兩個jar文件?
無論如何,在Build Path對話框中,您可以指定要搜索的jar文件的順序。
j2ee-6.1.jar
並按最多按鈕來移動它上漲的類路徑順序。繼續按向上,直到它高於servlet-api-2.3.jar
。OK
。只有其中一個jar包應該放在你的類路徑中,以便能夠編譯你的類。但是在運行時,jar會存在於你的應用程序服務器類路徑中,並且你將無法用另一個替換它。
如果你的容器是一個JEE6容器,那麼它使用servlet 3.0,並且servlet-api-2.3.jar已經過時,不應該在類路徑中。如果您的容器只支持servlet api 2.3,那麼您將無法使用此容器中jee6 jar的類。