感謝鮑里斯和桑德,
我有兩個不同的工作區:NextiraOne與持久性項目,核心項目和店工程建設。 Franke工作空間建立在持久性項目,核心,商店項目和額外的ws-client-franke項目之上。
我已經在覈心項目的pom.xml中定義如下:
<profile>
<id>default-mandant</id>
<activation>
<property>
<!-- If no mandant was specified then activate this profile -->
<name>!bl.config.mandant</name>
</property>
</activation>
<properties>
<!-- Choose your default mandant (nextiraone/franke) -->
<bl.config.mandant>nextiraone</bl.config.mandant>
</properties>
</profile>
<dependency>
<groupId>com.sharis.p7.customizer</groupId>
<artifactId>ws-client-${bl.config.mandant}</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
WS-客戶弗蘭卡已經在那裏了法蘭克的工作空間,但我不想定義另一個項目WS-客戶nextiraone因爲nextiraone工作區不需要Web服務。
因爲兩個工作區使用相同的核心項目,所以當我輸入這樣的核心
import com.sharis.p7.webservice.client.franke.order.delivery.DeliveryData;
,並部署到JBoss服務器或建立在Maven的,到NextiraOne工作區報道DeliveryData類不能被發現。
將項目拆分爲相關模塊。使用maven來設置依賴關係。 –
我同意@BoristheSpider,但我想補充一點,這是一個常用模式,其中一個實用程序項目包含並非每個相關項目都需要的實現。只要它們沒有被實例化,那不一定是問題。我已經看到應用程序上下文文件(Spring beans文件)遵循約定的項目,以便依賴項目知道類路徑上期望的文件,並讓他們選擇實例化這些文件。 –
另外,讓我預測你的未來:有一天你會恨自己稱這個項目爲「核心」。這意味着什麼,它將是一個開放的門,添加各種無關的東西,它會像雜草一樣長大。給它一個明確的,描述性的域名或功能名稱是它的責任。 –