将类路径添加到在maven集成测试中运行的jetty

时间:2010-02-01 10:47:38

标签: java maven-2 build-process jetty integration-testing

我正在尝试为生成war文件的Maven项目设置集成测试。 (如此处http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin/所示。)但是我的war文件需要类路径上的一堆.properties文件,我不想在战争中捆绑。

是否有办法(最好通过插件配置)将文件夹添加到jetty使用的类路径中?

我用Google搜索并找到了http://markmail.org/message/awtqrgxxttra3uxx但据我所知,这根本不起作用。找不到.properties文件。

3 个答案:

答案 0 :(得分:21)

这应该可以使用webAppConfig配置元素(以下示例来自this thread):

<webAppConfig>
  <contextPath>/nportal</contextPath>
  <!-- All I want to do here is add in the /etc/jetty/classes for runtime files. For some reason I have to also add back in the /target/classes directory -->
  <extraClasspath>${basedir}/target/classes/;${basedir}/etc/jetty/classes/</extraClasspath>
</webAppConfig> 

答案 1 :(得分:16)

如果您发现上述解决方案不适合您,请考虑将测试类路径包含在您的Jetty配置中。

<configuration>
   <useTestClasspath>true</useTestClasspath>
   ...
</configuration>

这将允许您在测试类路径上放置所有方式的资源/类,并让它们对Jetty服务器可见,而不会爬进生产代码。

答案 2 :(得分:5)

您可以将其他配置文件放在/src/test/resources下,并在插件配置中按照指定http://pro.jsonlint.com/设置属性<useTestScope>true</useTestScope>

<强> useTestScope

如果为true,则来自testClassesDirectory的类和范围的依赖关系&#34; test&#34;首先放在类路径上。默认情况下,这是错误的。