2013-07-02 48 views
5

我有我的webapp一些依賴,因爲我希望他們,我已經標記爲provided由一個應用程序服務器(可能是生產環境中提供這些相關在指定的可提供「提供」類路徑版本)。當我在我的本地主機上運行測試或開發時,如何模擬使用tomcat7-maven-plugin目標(如run)?使用在tomcat7 - Maven的插件的目標

我看不出有什麼辦法做到這一點,而無需手動複製周圍罐子。我可以看到如何使用類路徑test - 我想要做什麼有什麼問題?

回答

2

OK,我發現得到這個工作的方式 - 這是合理的,但有依賴性信息和魔法輪廓的重複......我覺得tomcat7 - Maven的插件應該提供製造提供的一種手段運行時容器中可用的依賴關係。

添加一個當tomcat插件運行時激活的配置文件,並將具有provided範圍的依賴項添加到該配置文件,例如。

... in project pom ... 
<dependencies> 
    <dependency> 
    <groupId>com.mycompany</groupId> 
    <artifactId>my-provided-artifact</artifactId> 
    <version>1.2.3</version> 
    <scope>provided</scope> 
    </dependency> 
</dependencies> 
... 
<profiles> 
    <profile> 
    <!-- profile activated as cli param when tomcat7 plugin runs --> 
    <id>tomcat</id> 
    <dependencies> 
     <dependency> 
     <groupId>com.mycompany</groupId> 
     <artifactId>my-provided-artifact</artifactId> 
     <version>1.2.3</version> 
     <scope>compile</scope> 
     </dependency> 
    </dependencies> 
    </profile> 
</profiles> 
0

我用,例如,這樣的:

<plugin> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <artifactId>tomcat7-maven-plugin</artifactId> 
    <version>2.0</version> 
    <configuration> 
     <path>/myApp</path> 
    </configuration> 
    <dependencies> 
     <dependency> 
      <groupId>com.oracle</groupId> 
      <artifactId>ojdbc6</artifactId> 
      <version>11.2.0.3</version>      
     </dependency> 
    </dependencies> 
</plugin> 

,然後還包括依賴稍後再與提供。

相關問題