我正在将 J2ee 项目从 Ant 迁移到 Maven,
Ant 的任务之一是从 SVN 存储库中提取现有源
编译它,并将它的 jar 作为 Jar 添加到我当前的构建中
是否可以获取源代码并在 Maven 中编译它?
谢谢!
<target name="checkoutBuild" description="Pulls code from SVN into the build directory">
<exec executable="svn">
<arg line="co ${svn.projecturl} ${project.build.root} -r ${svn.revision} --username ${svn.username} --password ${svn.password}"/>
</exec>
</target>
最佳答案
是的,就像在 Ant 中一样。执行svn
exec-maven-plugin
中的命令在预编译阶段之一,可能在生成源中。我会尝试这样的事情(这是一个脑残,可能包含小错误):
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>...</version>
<executions>
<execution>
<id>svn</id>
<goals>
<goal>exec</goal>
</goals>
<phase>generate-sources</phase>
</execution>
</executions>
<configuration>
<executable>svn</executable>
<arguments>
<argument>co</argument>
<argument>${svn.projecturl}</argument>
<argument>${project.build.root}</argument>
...
</arguments>
<configuration>
</plugin>
</plugins>
</build>
编辑
Prunge 的回答让我思考——你想要真正实现什么?如果项目始终是构建的一部分,那么更好的方法是“mavenize”它(为它编写一个 POM)并将其作为模块/依赖项包含在内。
如果 SVN checkout 是一次性操作,也许最好保持原样,使用
mvn install:install-file
将 jar 添加到存储库中(分配组 id 和 Artifact id),并将其用作依赖项?
关于svn - Maven - 从 SVN 拉取代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7881437/