在运行Main Class时,在Maven exec插件中设置类路径的问题

时间:2014-07-29 17:11:34

标签: java maven classpath integration-testing

我在我的应用程序中嵌入了Jetty。为了在我的构建服务器上自动执行我的集成测试,我希望Maven在预集成测试阶段启动我的应用程序。集成测试在另一个项目中,而不是测试的应用程序,因为测试的性质非常复杂,应该与生产代码分开。

我尝试使用Maven exec插件设置我的应用程序,但继续运行ClassNotFoundErrors。我使用maven-dependency-plugin将所有依赖项复制到target / lib /。到目前为止,我还没有弄清楚如何告诉exec插件将该lib文件夹添加到类路径中。

这是我当前的exec插件配置:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.2.1</version>
    <executions>
        <execution>
            <id>default-cli</id>
            <phase>pre-integration-test</phase>
            <goals>
                <goal>java</goal>
            </goals>
            <configuration>
                <mainClass>com.zertificon.managementCenter.adminUi.server.WebApp</mainClass>

                <!-- this does not work: -->
                <classpath>${project.build.directory}/${libFolder}/</classpath>

            </configuration>
        </execution>
    </executions>
</plugin>

我尝试运行的WebApp类源自另一个Project,并安装在本地存储库中。我会高度赞同任何帮助。

1 个答案:

答案 0 :(得分:0)

发现错误:我一直在使用Jetty和Selenium Library,它本身也捆绑了Jetty。这导致错误的Jetty版本被加载,这给了我类未找到的错误。去图。