首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法在maven中执行一个程序来帮助构建你的项目?

有没有办法在maven中执行一个程序来帮助构建你的项目?
EN

Stack Overflow用户
提问于 2012-01-11 00:33:35
回答 2查看 875关注 0票数 5

我目前正在做一个项目,该项目使用一个工具,该工具采用以下示例IDL文件,并从该文件生成大约5个Java类。

struct Example { int x; int y; };

有没有办法让Maven在构建时使用命令行工具自动创建这些Java类?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-11 00:53:32

你可以使用maven-antrun-plugin插件来运行任意的Ant tasks,甚至任何命令行程序:

代码语言:javascript
复制
<build>
    <plugins>
        <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
                <execution>
                    <phase>generate-sources</phase>
                    <configuration>
                        <tasks>
                            <exec executable="ls">
                                <arg value="-l"/>
                                <arg value="-a"/>
                            </exec>
                        </tasks>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

使用这种配置,您的命令行程序将在编译之前执行,因此生成的Java源代码将可用于其余代码。

票数 1
EN

Stack Overflow用户

发布于 2012-01-11 00:35:54

下面是一个使用Exec Maven Plugin的示例。

代码语言:javascript
复制
<plugins>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <executions>
            <execution>
                <!-- this execution happens just after compiling the java classes, and builds the native code. -->
                <id>build-native</id>
                <phase>process-classes</phase>
                <goals>
                    <goal>exec</goal>
                </goals>
                <configuration>
                    <executable>src/main/c/Makefile</executable>
                    <workingDirectory>src/main/c</workingDirectory>
                </configuration>
            </execution>
        </executions>
    </plugin>
</plugins>
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8806795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档