我如何让Maven构建它生成的项目?

马特·谢泼德

我有一个使用exec-maven-plugin运行swagger-codegen的maven项目,该项目在子目录中生成一个新的maven项目。我想要的是与继续构建生成的项目相同的Maven流程。

我认为将生成的项目目录声明为模块似乎不起作用,因为maven首先处理所有pom.xml文件,然后开始构建(因此,当需要时,生成的项目尚不存在)。

我想我可以从exec-maven-plugin再次调用一个新的maven进程(尽管我不确定查找诸如maven二进制文件的使用位置以及目标是什么等细节很容易)。希望有人可以提出一种更优雅的方法。

A_Di-Matteo

你可以用

下面是在这种情况下如何使用Exec插件的示例:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.1</version>
    <executions>
        <execution>
            <id>build-module</id>
            <phase>process-resources</phase>
            <goals>
                <goal>exec</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <executable>mvn</executable>
        <arguments>
            <argument>clean</argument>
            <argument>install</argument>
        </arguments>
        <workingDirectory>${basedir}\module-name</workingDirectory>
    </configuration>
</plugin>

如果您需要不同的依赖关系来执行它,并且不想将它们添加为项目的一部分,则还可以按此处所述定义它们,Exec插件将在执行过程中使用插件依赖关系。还请确保正确设置workingDirectory以便执行。

尽管Invoker插件是为在Maven插件开发期间运行集成测试而定义的,但在这种情况下,它也可能满足您的需求。下面是一个可能的示例:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-invoker-plugin</artifactId>
    <version>1.7</version>
    <configuration>
        <pom>${basedir}/module-dir/pom.xml</pom>
        <streamLogs>true</streamLogs>
        <failIfNoProject>true</failIfNoProject>
        <goals>
            <goal>clean</goal>
            <goal>package</goal>
        </goals>
    </configuration>
    <executions>
        <execution>
            <id>build-module</id>
            <phase>process-resources</phase>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy</artifactId>
            <version>1.8.3</version>
        </dependency>
    </dependencies>
</plugin>

我还建议检查Invoker插件运行目标的其他选项

在这两种方法中,您都应确保在生成阶段之后执行此插件,然后检查Maven阶段流程(即,如果您在该generate-sources阶段生成项目,则该项目的执行/构建可能会在该process-resources阶段进行) 。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Maven如何构建不在我的项目中的类?

来自分类Dev

如何安装Maven构建项目?

来自分类Dev

如何为Eclipse Java项目生成Ant和Maven构建文件?

来自分类Dev

如何从Gradle检出并构建Maven项目?

来自分类Dev

如何从Gradle检出并构建Maven项目?

来自分类Dev

如何从命令行使用 Maven 构建我的 EAR 项目?[可能重复]

来自分类Dev

我用 Maven 构建了一个库。我如何找到它的 jar 以便我可以在没有 Maven 的情况下使用它?

来自分类Dev

在Maven中构建模块时如何构建依赖项目

来自分类Dev

如何依赖从同行Maven项目生成的jar?

来自分类Dev

我添加了一个类,然后不再需要它,现在没有它就无法构建我的项目。我该如何解决?

来自分类Dev

我无法使用apache-maven3.2.2构建项目

来自分类Dev

我无法通过 Zebble 构建生成的 Android 项目

来自分类Dev

离线构建Maven项目

来自分类Dev

使用Java 1.8构建Maven项目,但使用Java 1.7运行它

来自分类Dev

如何从多模块Maven项目构建可执行jar?

来自分类Dev

Maven和Netbeans:如何构建项目并获取可执行jar?

来自分类Dev

如何在Spring / Maven项目中调试此构建失败?

来自分类Dev

导入Java Spring项目后如何构建Maven

来自分类Dev

如何同时构建Snapshot和Release版本的Maven项目

来自分类Dev

如何在Netbeans中为项目生成构建文件

来自分类Dev

我在maven构建中得到“构建无法读取1个项目”,因为未定义版本

来自分类Dev

Maven项目生成失败

来自分类Dev

Eclipse 方法未定义,即使我定义了它,清理了我的项目,检查了构建路径,并打了我的电脑

来自分类Dev

使用Maven构建SBT项目

来自分类Dev

使用Maven构建Eclipse项目

来自分类Dev

如何从我的react-native项目构建android apk?

来自分类Dev

如何检查我最近完成的Codebuild构建项目的状态?

来自分类Dev

如何从我的telerik应用程序生成器项目中获取QR码,以便可以扫描它并从设备中预览应用程序?

来自分类Dev

Maven原型:生成| 构建失败

Related 相关文章

  1. 1

    Maven如何构建不在我的项目中的类?

  2. 2

    如何安装Maven构建项目?

  3. 3

    如何为Eclipse Java项目生成Ant和Maven构建文件?

  4. 4

    如何从Gradle检出并构建Maven项目?

  5. 5

    如何从Gradle检出并构建Maven项目?

  6. 6

    如何从命令行使用 Maven 构建我的 EAR 项目?[可能重复]

  7. 7

    我用 Maven 构建了一个库。我如何找到它的 jar 以便我可以在没有 Maven 的情况下使用它?

  8. 8

    在Maven中构建模块时如何构建依赖项目

  9. 9

    如何依赖从同行Maven项目生成的jar?

  10. 10

    我添加了一个类,然后不再需要它,现在没有它就无法构建我的项目。我该如何解决?

  11. 11

    我无法使用apache-maven3.2.2构建项目

  12. 12

    我无法通过 Zebble 构建生成的 Android 项目

  13. 13

    离线构建Maven项目

  14. 14

    使用Java 1.8构建Maven项目,但使用Java 1.7运行它

  15. 15

    如何从多模块Maven项目构建可执行jar?

  16. 16

    Maven和Netbeans:如何构建项目并获取可执行jar?

  17. 17

    如何在Spring / Maven项目中调试此构建失败?

  18. 18

    导入Java Spring项目后如何构建Maven

  19. 19

    如何同时构建Snapshot和Release版本的Maven项目

  20. 20

    如何在Netbeans中为项目生成构建文件

  21. 21

    我在maven构建中得到“构建无法读取1个项目”,因为未定义版本

  22. 22

    Maven项目生成失败

  23. 23

    Eclipse 方法未定义,即使我定义了它,清理了我的项目,检查了构建路径,并打了我的电脑

  24. 24

    使用Maven构建SBT项目

  25. 25

    使用Maven构建Eclipse项目

  26. 26

    如何从我的react-native项目构建android apk?

  27. 27

    如何检查我最近完成的Codebuild构建项目的状态?

  28. 28

    如何从我的telerik应用程序生成器项目中获取QR码,以便可以扫描它并从设备中预览应用程序?

  29. 29

    Maven原型:生成| 构建失败

热门标签

归档