4

我有一个 maven 项目和一个 SBT 项目作为 maven 项目的一个模块。我需要创建一个命令 Maven 构建,它也执行 SBT 包任务。

是否有任何插件可用于将 SBT 与 maven 集成?

谢谢。

4

2 回答 2

2

一种选择是使用“Exec Maven Plugin”,这里是一个“play compile”的例子

  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.2.1</version>
    <executions>
      <execution>
        <goals>
          <goal>exec</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <executable>${path.to.play}</executable>
      <workingDirectory>${path.to.project.root}</workingDirectory>
      <arguments>
        <argument>compile</argument>
      </arguments>
    </configuration>
  </plugin>
于 2013-05-28T11:46:28.963 回答
1

使用 maven antrun 插件(我的示例是用于构建 Scala.js 应用程序)。

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.8</version>
            <executions>
                <execution>
                    <phase>pre-integration-test</phase>
                    <configuration>
                        <target>
                            <exec executable="cmd.exe"
                                  spawn="true">
                                <arg value="/c"/>
                                <arg value="C:\Program Files (x86)\sbt\bin\sbt.bat"/>
                                <arg value="fullOptJS"/>
                            </exec>
                        </target>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

归功于@checat 在他的评论中提出的建议以及在Launching a windows batch script using Maven exec plugin 中的讨论会阻止构建,即使脚本使用“start”

其他想法; 在非 Windows 系统上使用 mvn-exec 可能仍然值得,也许使用 maven 配置文件。如果我走这条路,我会尽量记住更新答案。

于 2016-11-28T16:33:18.427 回答