Maven插件之build-helper-maven-plugin

把原有项目添加到Maven管理时,总会出现很多莫名奇妙的问题,其中之一便是Maven默认的项目结构 和自己的项目结构不一致,导致无法编译源代码,更不用说部署、运行项目了。

Java程序开发,一般使用Eclipse、MyEclipse等工具,其源码目录为src,这与Maven默认的 src/main/java不同。因此,在没有额外配置的情况下,使用Maven命令无法完成代码的编译。

针对这种情况,codehaus提供了build-helper-maven-plugin插件来支持自定义的项目目录结构(相对 于Maven默认目录结构来说)。

该插件官网:http://mojo.codehaus.org/build-helper-maven-plugin/

截止到目前(2013-12-25),最新版本为1.8

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>1.8</version>
</plugin>

该插件提供了多个目标,包括设置主源码目录、测试源码目录、主资源文件目录、测试资源文件目录 等。

以下简单说一下主资源文件目录、主源码目录的配置,其他设置大同小异,不再一一讲述。

直接上代码,说明全部在注释中。

<!-- 设置多个源文件夹 -->
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>1.8</version>
    <executions>
        <!-- 添加主资源文件目录 -->
        <execution>
            <!--自定义名称,不可重复-->
            <id>add-resource</id>
            <!--指定绑定到生命周期-->
            <phase>initialize</phase>
            <!--指定指定的目标,可添加多个-->
            <goals>
                <goal>add-resource</goal>
            </goals>
            <configuration>
                <resources>
                    <!--资源文件目录,可添加多个-->
                    <resource>
                        <directory>${basedir}/src/main/one</directory>
                        <!--是否启用变量过滤-->
                        <filtering>true</filtering>
                        <!--排除的文件,可添加多个-->
                        <excludes>
                            <exclude>**/*.java</exclude>
                        </excludes>
                    </resource>
                    <resource>
                        <directory>${basedir}/src/main/two</directory>
                        <filtering>true</filtering>
                        <excludes>
                            <exclude>**/*.java</exclude>
                        </excludes>
                    </resource>
                </resources>
            </configuration>
        </execution>  

        <!-- 添加主源码目录 -->
        <execution>
            <id>add-source</id>
            <phase>initialize</phase>
            <goals>
                <goal>add-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>${basedir}/src/main/three</source>
                    <source>${basedir}/src/main/four</source>
                </sources>
            </configuration>
        </execution>  

        <!-- 添加测试源码目录 -->
        <execution>
            <id>add-test-source</id>
            <phase>initialize</phase>
            <goals>
                <goal>add-test-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>${basedir}/src/main/five</source>
                    <source>${basedir}/src/main/six</source>
                </sources>
            </configuration>
        </execution>
    </executions>
</plugin>

添加以上配置之后,执行Maven命令 compile即可对源代码进行编译了。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索目录
, maven
, 源码
, 项目
, maven dependencie
, src
, main
, maven compile报错
, helper
, maven命令
, maven plugin
, java maven
java1.8
maven build helper、maven build plugin、maven plugin插件下载、maven build插件、plugin helper,以便于您获取更多的相关知识。

时间: 2024-09-27 17:35:41

Maven插件之build-helper-maven-plugin的相关文章

开发过程使用Tomcat Maven插件持续快捷部署Web项目

我在平时工作中部署Web项目到测试服务器上的Tomcat时用的是Hudson.Hudson本身已经跟SVN.Git.Maven集成并且支持添加各种插件.但如果使用Hudson,我需要配置两个任务:一个任务负责打包项目成WAR,另外一个任务负责部署打包好的WAR包到目标服务器的Tomcat上.虽然任务只需要配置一次,但每次修改代码提交后,都得切换到浏览器点Hudson构建任务页面上的Build Now按钮,然后还得跳转到另一个页面观察是否有报错,然后再点击执行相应的部署任务.烦不胜烦,偶然发现To

mybatis generator maven插件自动生成代码__个人记录

本文只是对于mybatis generator maven插件使用的个人记录,作个备忘,同时也希望对进来的人有所帮助! 一.pom文件中引入插件 此处我引用的是1.3.5版本的,主要是1.3.4 版本及以上可以设置Mapper(Dao)后缀 如mapperName="LotteryDao"  <plugin> <!-- 用maven mybatis插件 如果不在plugin里面添加依赖包得引用的话,会找不到相关得jar包, 在plugin外部得jar包,他不会去找到并

MAVEN学习笔记之Maven插件的应用(4)

MAVEN学习笔记之Maven插件的应用(4) <build> <pluginManagement> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>sql-maven-plugin</artifactId> <version>1.5</version> <!-- 使用插件依然可以指定相应的依赖

rpc框架: thrift/avro/protobuf 之maven插件生成java类

thrift.avro.probobuf 这几个rpc框架的基本思想都差不多,先定义IDL文件,然后由各自的编译器(或maven插件)生成目标语言的源代码,但是,根据idl生成源代码这件事,如果每次都要手动敲命令,未免太无聊了,幸好这三种框架都提供了对应的maven插件来完成代码的自动生成,本文演示了这三种框架的maven插件用法. 一.maven-thrift-plugin 1 <?xml version="1.0" encoding="UTF-8"?>

使用Maven插件修改工程版本号

当Maven下面的子模块比较多的时候,每次修改工程的版本号都是一件非常的痛苦的事情,因为子模块都引用了顶级父模块的pom,所以虽然在父模块中定义了工程的版本号,但每个子模块中要显示地指定父模块的版本号,否则无法找到父模块的pom.举例如下: ./pom.xml    代码如下 复制代码 <project>      <groupId>com.example.framework</groupId>      <artifactId>lingseeframewo

用Maven插件生成Mybatis代码的实现方法_java

现在代码管理基本上是采用Maven管理,Maven的好处此处不多说,大家用百度搜索会有很多介绍,本文介绍一下用Maven工具如何生成Mybatis的代码及映射的文件. 一.配置Maven pom.xml 文件 在pom.xml增加以下插件: <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId>

Maven插件之Maven-Enforcer-Plugin

实际开发中,项目经理总会告诉开发人员:开发时要遵守什么什么样的约定,命名规范怎么怎样 样.... 约定优于配置,很重要!比较规范的公司(或者项目组),会把规范写到文档中,让开发人员去遵守. 问题来了,怎么才能知道大家有没有按照规范走呢?有人会说了,找个工具校验一下就可以了,开源工具 很多.是的,这是对的.但对于项目中使用的程序.工具.开发环境呢,有工作经验的人应该都知道,很多 时候,新手出现诡异的问题,一部分原因是因为环境不对,或者软件版本不符;这时应该怎么检查呢? Maven提供了Maven-

常用Maven插件介绍(下)

转自:http://www.infoq.com/cn/news/2011/05/xxb-maven-8-plugin     我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如maven- compiler-plugin的compile目标用来编译位于src/main/java/目录下的

Maven插件之maven-archetype-plugin

学过Maven的人,都知道用MyEclipse的Maven插件生成一个项目骨架,比如maven-archetype-quickstart,这个原型就是最常用的之一. 刚开始使用骨架的时候,感觉很好,减少了重复劳动,提高了开发效率.使用的时间久了,就会发现,Maven Archetype提供的项目骨架不能百分百的满足公司规定的项目结构,不免要手动改些东西. 此时,自然而然的就会想到:如果能将公司(或项目组)规定的项目结构作为一个骨架原型上传个私服,作为模版供项目使用,就无须修改任何的文件.也减少了