通过Maven运行Jetty的类路径问题

时间:2011-01-20 21:00:43

标签: maven jetty

我正在使用Maven来管理我的构建。对于开发人员测试,我使用Jetty,我使用Jetty Maven插件中的jetty:run目标启动。我还应该注意到我有战争:在早期阶段爆炸运行,构建了Jetty运行的目录。

我遇到的问题是war:爆炸任务将构建依赖项放入WEB-INF / lib(应该如此),而且,Maven似乎通过系统类加载器向Jetty提供构建类路径。这导致每个jar加载两次,应该可以,但遗憾的是,Datanucleus库在第二次加载到类路径时抛出异常。

目前我能想到的唯一解决方案是创建两个配置文件,一个构建配置文件和一个开发人员测试配置文件。开发人员测试配置文件将排除所有依赖项和jetty:run将在开发人员测试配置文件中运行。对于我认为很简单的事情来说,这似乎很多配置。

有没有人知道是否有办法阻止Maven将构建类路径加载到Jetty中?

1 个答案:

答案 0 :(得分:2)

<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.26</version>
<configuration>
    <useTestClasspath>true</useTestClasspath>

...

选项“useTestClasspath”应具有您正在寻找的效果。