Maven 2 用Maven生成类路径文件

Maven 2 用Maven生成类路径文件,maven-2,plugins,dependencies,Maven 2,Plugins,Dependencies,我想从pom.xml依赖项生成一个类路径文件。我需要它,这样在测试期间我就有了所有依赖项的类路径(这些依赖项后来打包成一个包) maven依赖插件不适合我,原因有二: 它生成存储库中文件的路径,因此要使用其他模块,他们首先需要为其运行安装阶段(我希望有/some/root/othermodule/target/classes这样的路径) 它不包括工件自己的路径(target/classes),这意味着我需要在以后的代码中添加它,这很尴尬 所以我正在寻找另一个插件(或者如何正确运行maven依

我想从pom.xml依赖项生成一个类路径文件。我需要它,这样在测试期间我就有了所有依赖项的类路径(这些依赖项后来打包成一个包)

maven依赖插件
不适合我,原因有二:

  • 它生成存储库中文件的路径,因此要使用其他模块,他们首先需要为其运行
    安装
    阶段(我希望有
    /some/root/othermodule/target/classes这样的路径)
  • 它不包括工件自己的路径(
    target/classes
    ),这意味着我需要在以后的代码中添加它,这很尴尬

所以我正在寻找另一个插件(或者如何正确运行
maven依赖插件

我最终使用了GMaven:

        <plugin>
            <groupId>org.codehaus.groovy.maven</groupId>
            <artifactId>gmaven-plugin</artifactId>
            <executions>
                <execution>
                    <phase>generate-resources</phase>
                    <goals>
                        <goal>execute</goal>
                    </goals>
                    <configuration>
                        <source>
                            def all = project.runtimeArtifacts.collect{
                                def aid = "${it.groupId}:${it.artifactId}:${it.version}"
                                def p = project.projectReferences[aid]
                                p?.build?.outputDirectory ?: it.file.path
                            } + project.build.outputDirectory
                            def file = new File(project.build.directory, ".classpath")
                            file.write(all.join(File.pathSeparator))
                        </source>
                    </configuration>
                </execution>
            </executions>
        </plugin>

测试的类路径是自动生成的。那么具体的问题在哪里呢?或者你说的是一种集成测试而不是单元测试?(多模块构建?)在一个组件中,我正在为另一个组件创建一个类加载器。在生产环境中,类路径是lib/*,但在测试环境中,我不想进行打包
file.write(project.runtimeClasspathElements.join(File.pathSeparator))