2015-06-19 88 views
0

我有一個動態web項目,我們將其稱爲「項目A」,另一個常規java項目,我們將在eclipse中調用「項目B」。我已將項目b添加到項目A,方法是進入項目屬性 Properties -> Deployment Assembly -> Add -> Project。 這可以工作,並將jar「project B.jar」添加到項目A/WEB-INF/lib文件夾中。但是「項目B」中配置的外部jar文件不包含在「項目B.jar」中。此外,我已去 project b -> Properties -> Java Build Path -> Order and Export 和我已檢查「項目B」所需的所有依賴項,它仍然不包括在罐子裏。我怎樣才能得到日食在「項目B.jar」文件中包含這些罐子。動態WebProject導入另一個項目和依賴關係

如果您需要知道我正在使用eclipse Indigo,並且我們沒有使用mavin這個項目,它只有這個我們需要的jar。提前致謝。

回答

0

您應該將項目B轉換爲多面形式(轉至項目屬性「Project Facets」 - >「轉換爲多面形式...」)。唯一需要的方面是「Java」和「效用模塊」。如果我沒有記錯的話,那麼Eclipse會給你一個警告,說明在項目A的運行時可能會丟失這些額外的JAR依賴項,從而爲您提供快速修復選項以將它們添加爲依賴項。這將一個attributes元素添加到項目B的每一個引用的JAR文件.classpath文件,例如像這樣:

:沒有被列入會得到,而不是這個屬性

<classpathentry exported="true" kind="lib" path="lib/commons-beanutils-1.9.2.jar"> 
    <attributes> 
     <attribute name="org.eclipse.jst.component.dependency" value="../"/> 
    </attributes> 
</classpathentry> 

的JAR

<attributes> 
    <attribute name="org.eclipse.jst.component.nondependency" value=""/> 
</attributes> 

如果您沒有收到警告,您可以直接添加attributes元素。注意:這一切都適用於Eclipse Luna,但我至少在開普勒知道它已經像這樣工作了。

+0

感謝您的回覆@海因。 「項目B」是一個多面項目,並選擇了效用模塊。但是我的.classpath文件看起來不像提供的。我的全部看起來像 '' 並且沒有屬性字段。如果我手動添加它們,那麼'value =「../」/>'值應該是多少? – rickmaster

+0

你應該可以像這樣離開它,即'value =「../」'。至少這對我來說適合我的動態web項目。我發現這兩個線程讓我感到困惑,因爲它似乎應該使用'value =「/ WEB-INF/lib」',因爲我也有一個獨立的Web項目:http://www.eclipse.org/forums/index .php/t/172866/https://wiki.eclipse.org/ClasspathEntriesPublishExportSupport。但是那個''../「'入口是Eclipse爲我創建的,並且是有效的。 –

+0

再次感謝@Hein在項目B上編輯我的類路徑並添加條目。 – rickmaster

相關問題