我有我的webapp一些依賴,因爲我希望他們,我已經標記爲provided
由一個應用程序服務器(可能是生產環境中提供這些相關在指定的可提供「提供」類路徑版本)。當我在我的本地主機上運行測試或開發時,如何模擬使用tomcat7-maven-plugin
目標(如run
)?使用在tomcat7 - Maven的插件的目標
我看不出有什麼辦法做到這一點,而無需手動複製周圍罐子。我可以看到如何使用類路徑test
- 我想要做什麼有什麼問題?
我有我的webapp一些依賴,因爲我希望他們,我已經標記爲provided
由一個應用程序服務器(可能是生產環境中提供這些相關在指定的可提供「提供」類路徑版本)。當我在我的本地主機上運行測試或開發時,如何模擬使用tomcat7-maven-plugin
目標(如run
)?使用在tomcat7 - Maven的插件的目標
我看不出有什麼辦法做到這一點,而無需手動複製周圍罐子。我可以看到如何使用類路徑test
- 我想要做什麼有什麼問題?
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>
我用,例如,這樣的:
<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>
,然後還包括依賴稍後再與提供。