我有一个 maven 项目和一个 SBT 项目作为 maven 项目的一个模块。我需要创建一个命令 Maven 构建,它也执行 SBT 包任务。
是否有任何插件可用于将 SBT 与 maven 集成?
谢谢。
一种选择是使用“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>
使用 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 配置文件。如果我走这条路,我会尽量记住更新答案。