如何创建maven mojo插件来覆盖目标项目中的文件目录

时间:2016-11-08 13:01:48

标签: maven plugins implementation mojo

我正在编写一个maven插件,它根据输入文本文件和一些其他配置生成java源代码 例如用户创建maven项目并在我的项目的pom.xml中添加我的插件,如下所示 -

    <plugin>
        <groupId>abc.plugin</groupId>
        <artifactId>abc-maven-plugin</artifactId>
        <version>1.0.0</version>
        <executions>
            <execution>
                <goals>
                    <goal>abc</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <schemaPath>${basedir}\input</schemaPath>
            <package>com.svc.xyz</package>
            <fileNametxt>${basedir}\input.txt</fileNametxt>
        </configuration>
    </plugin>

作为执行插件目标的一部分,我希望插件删除用户项目中所有预先存在的java源文件/目录,以及重写用户项目的pom.xml。
插件应该重新生成用户project的pom.xml获取现有内容,并保留一些其他现有的用户项目资源,如schema Directory。

此外,我不希望插件的用户在生成源代码后进行任何编辑,并且更喜欢通过插件直接“编译打包”用户项目中生成的源代码。

由于插件将重新生成用户的pom.xml本身,可能需要与生成的源代码一起创建一个新的maven项目,编译,打包并创建jar?

0 个答案:

没有答案