2011-04-09 69 views
0

我是新來的Maven,我有一個非常基本的問題。我有一個J2EE應用程序(EAR)。當我構建這個應用程序時,我想忽略我的戰爭的lib文件夾中的一些依賴項,因爲這個jar將由我的服務器提供,比如jboss(所有的休眠東西)。但是當我在嵌入式碼頭服務器中運行這個戰爭項目時,我需要它在我的lib文件夾中。我聽說過可以用於類似目的的maven配置文件。有人可以給我一個例子或關於它的一些細節,或者有其他方式來實現這個任務。我有一個包含ejb模塊(jar)和web模塊(war)的EAR。maven個人檔案的問題

謝謝

回答

1

在配置文件中指定您的庫。在jboss配置文件中爲您的庫設置<scope>provided</scope>。例如:

<profiles> 
    <profile> 
     <id>jboss</id> 
     … 
     <dependencies> 
      <dependency> 
         <groupid>...</groupid> 
         <artifactid>...</artifactid> 
         <version>...</version> 
         <scope>provided</scope> 
       </dependency> 
     </dependencies> 
     … 
    </profile> 
    <profile> 
     <id>jetty</id> 
     … 
     <dependencies> 
      <dependency> 
         <groupid>...</groupid> 
         <artifactid>...</artifactid> 
         <version>...</version> 
       </dependency> 
     </dependencies> 
     … 
    </profile> 
</profiles> 
+0

感謝這對我來說看起來是一個好的開始。還有一個問題,我可以告訴maven使用diff。 jboss和jetty的applicationContext。如果是,那麼如何? Soryy問這樣一個愚蠢的問題,但我是全新的,沒有真正的好書可用於Maven – user509755 2011-04-10 17:26:55

+0

你是什麼意思與差異? – amra 2011-04-10 21:01:52

+0

我的意思是我有兩個applicationContext,每個jboss和jetty。當我在開發過程中在碼頭上運行我的項目時,我希望spring能夠開始事務,並且當我部署項目時,它會使用jboss的jndi entitymanager和事務管理器。我知道這不是一個好的設計,但是現在我不能在現階段改變它,因爲我正在處理別人的代碼。 – user509755 2011-04-11 00:28:21