美文网首页maven
maven---插件之设置额外源码目录

maven---插件之设置额外源码目录

作者: zlcook | 来源:发表于2020-06-22 15:52 被阅读0次

前提

先了解插件

需求

  • maven默认的项目主代码放在src/main/java目录下,执行compile阶段时,会把该目录下java文件编译成class输出到target目录下,但是,你项目中依赖其它源码(直接拷贝代码过来,而不是以jar的方式依赖),这个时候,为了区别你自己项目的源码,你希望把该源码也放在main目录下和java同级。如下图:你想让fbthrift、generated目录也设置成主代码,这样compile编译时就会考虑其中。
ru

解决

  • 插件一个一个看,或者百度,发现org.codehaus.mojo的build-helper-maven-plugin插件下有个目标add-source能干这个事情。
    • 目前默认绑定到的构建阶段为:generate-sources, 为了让测试代码编译的时候也能用上fbthrift,generated目录中的代码,所以在add-test-source构建阶段也要添加这些源码主目录。
  • 插件版本3.0之和只支持maven3
    • 这个目标有个sources参数用来配置额外的主代码(源码)目录,而且该参数是个数组类型,即可以接收多个目录。

该插件给出的使用案例

依次类推,该插件还提供了其它目录,用来设置额外的目录(源码,资源等)

配置

  <build>
        <plugins>
           <plugin>
                <!--插件坐标信息-->
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>1.8</version>
                <executions>
                    <execution>
                        <id>add-source</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>src/main/java</source>
                                <source>src/main/generated</source>
                                <source>src/main/fbthrift</source>
                            </sources>
                        </configuration>
                    </execution>
                    <execution>
                        <id>add-test-source</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-test-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>src/test/java</source>
                                <source>src/main/java</source>
                                <source>src/main/generated</source>
                                <source>src/main/fbthrift</source>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>

相关文章

网友评论

    本文标题:maven---插件之设置额外源码目录

    本文链接:https://www.haomeiwen.com/subject/jjnxfktx.html