将ant项目更改为maven

时间:2013-11-29 15:35:28

标签: java maven ant

问题很简单:有一个ant项目,我应该移植到maven 。由于maven具有推荐的/ 预期的项目目录结构 ,如果我重构java文件的目录,这将涉及很多手动工作。另一方面,项目也不会对这个解决方案感到满意,也没有提到其他人,使用当前项目的包。

您有任何想法, 如何在不更改目录结构的情况下迁移到maven ?也提前谢谢。

2 个答案:

答案 0 :(得分:2)

强烈建议您使用Maven的标准目录结构,但可以在pom中设置自定义src目录。类似的东西:

<build>
 <sourceDirectory>path\to\actual\src</sourceDirectory>
</build>

您可能正在寻找以下内容:Handling unconventional source directory for a web project in maven

编辑:以下是Maven Super POM中设置的默认设置列表,可以在项目的pom.xml中覆盖

<build>
    <directory>target</directory>
    <outputDirectory>target/classes</outputDirectory>
    <finalName>${artifactId}-${version}</finalName>
    <testOutputDirectory>target/test-classes</testOutputDirectory>
    <sourceDirectory>src/main/java</sourceDirectory>
    <scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
    <testSourceDirectory>src/test/java</testSourceDirectory>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <directory>src/test/resources</directory>
      </testResource>
    </testResources>
</build>

答案 1 :(得分:1)

强烈建议您承诺进行重组。如果不这样做,你只会增加你的问题。

但是,如果您确实必须维护原始结构,则可以使用某种软文件夹。在Windows上,您可以使用SymLinks - 我希望其他操作系统还有其他选择。

在您的sources文件夹旁边创建一个新文件夹(我称之为 Maven )。在该文件夹中,构建一个镜像所需Maven结构的结构,但只在其中放置pom个文件。将symlinks设为旧位置。

可以自动执行此操作,但需要一些工作。

我只会在您处于过渡阶段时推荐此解决方案,而某些开发人员仍在构建ant,或者您正在将代码转换为SCC系统中的新结构。