精华内容
下载资源
问答
  • maven中默认只能读取resources文件夹下的资源,如果要读取其他路径下的资源文件,那么就需要用到maven-resources-plugin这一插件 2、配置 (1)在maven配置文件pom.xml中导入插件 <plugin> <groupId>...

    1、概念

    maven中默认只能读取resources文件夹下的资源,如果要读取其他路径下的资源文件,那么就需要用到maven-resources-plugin这一插件

    2、配置

    (1)在maven配置文件pom.xml中导入插件

    	  <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-resources-plugin</artifactId>
              <version>2.6</version>
          </plugin>
    

    (2)在build节点下面添加resource配置:

    <resource>
    		<!--从此目录下读取全部以.properties和.xml开头的文件-->
            <directory>src/main/resources/</directory>
            <includes>
              <include>**/*.properties</include>
              <include>**/*.xml</include>
            </includes>
    </resource>
     <resource>
    		 <!--从此目录下读取全部以.properties和.xml开头的文件-->
            <directory>src/main/java/</directory>
            <includes>
              <include>**/*.properties</include>
              <include>**/*.xml</include>
            </includes>
          </resource>
    </resources>
    
    展开全文
  • Maven 插件resources 插件

    万次阅读 2018-07-06 21:41:07
    1.Apache Maven Resources Plugin 官网对该插件的详解见官方文档地址 The Resources Plugin handles the copying of project resources to the output directory. There are two different kinds of resources: ...

    1.Apache Maven Resources Plugin

    官网对该插件的详解见官方文档地址

    The Resources Plugin handles the copying of project resources to the output directory. There are two different kinds of resources: main resources and test resources. The difference is that the main resources are the resources associated to the main source code while the test resources are associated to the test source code.

    该插件的作用 主要是处理将 主程序与 测试程序所需的源文件复制到输出编译文件夹中。

    2.使用场景

    2.1 指定源文件编译的字符编码

    a.第一种方式在properites设置

        <project ...>
         ...
         <properties>
           <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
           ...
         </properties>
         ..
        </project>

    b.在构建路径中指定

    <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>3.1.0</version>
            <configuration>
              ...
              <encoding>UTF-8</encoding>
              ...
            </configuration>
          </plugin>
        </plugins>
        ...
      </build>

    2.2 指定自定义的resources 路径

    By default, Maven will look for your project’s resources under src/main/resources.

    However, all your resources may not be in src/main/resources. Thus, you’d have to specify those directories by adding the following to your POM.

    <build>
       ...
       <resources>
         <resource>
           <directory>[your folder here]</directory>
         </resource>
       </resources>
       ...
     </build>

    2.3 是否启动筛选

    Variables can be included in your resources. These variables, denoted by the ${…} delimiters, can come from the system properties, your project properties, from your filter resources and from the command line.

    变量可以包含在您的资源中。 这些变量由$ {…}分隔符表示,可以来自系统属性,项目属性,过滤器资源和命令行。

    这里写图片描述
    这里写图片描述
    这里显示${name}在编译后的 hello.txt里还是 原文输出
    这里写图片描述
    而开启了filter过滤后则会取resources下 属性为name的value

    为了不改变pom原有的属性,你可以在 里面设置你的k-v 如 you.name=world,在 编译打包的时候同样可以获取到值
    这里写图片描述

    你也可以将你想获取的k-v 单独的写在一个配置文件并防止resources下 在 build-> filters->filter 设置属性文件名
    这里写图片描述

    这里写图片描述

    Do not filter files with binary content like images! This will most likely result in corrupt output.

    不要过滤像图像这样的二进制内容的文件! 这很可能会导致输出损坏。所以可以将这两种文件分别放在一个过滤的文件和一个不过滤的文件件内

    3.使用示例

    在eureka的构建时候有一个info的页面需要一个项目的构建信息我们可以在 yml 配置文件中配置

    info: 
      app.name: javxuan-app
      company.name: javxuan.group.com
      build.artifactId: $project.artifactId$
      build.version: $project.version$
    <build>
            <finalName>microservicecloud</finalName>
    //表示在 
    <resources>
        <resource>
                <directory>src/main/resources</directory>
                    <filtering>true</filtering>
        </resource>
    </resources>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                <delimiters>
                //表示取resources中以$*$的信息
                <delimit>$</delimit>
                </delimiters>
                </configuration>
            </plugin>
        </plugins>
    </build>

    4. 你可以指定和排除参与构建的resoures

    这里写图片描述
    这里写图片描述

    这里写图片描述

    5.将不在maven默认构建的resources的文件 里资源 copy 到目标目录

    这里写图片描述

    展开全文
  • 这样,您可以确保您不会浪费时间在Apache Maven范围之外的东西上。 假设您的问题不存在,请提交该问题的票证。 清楚地描述问题,包括在出现错误时重现的步骤。 确保填写您知道存在问题的最早版本。 在GitHub上...
  • idea创建Maven项目时,报错显示Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.0.2:resources,并且Maven插件内看不到 mybatis-generator。如下图: 折腾了好久发现配置放错地方了,...
  • maven插件maven-resources-plugin的使用

    万次阅读 2018-01-25 20:06:37
    pom build节点下面添加resource配置: [html] view plain copy  resources>   resource>   directory>src/main/resources/directory>   filtering>tr

    pom build节点下面添加resource配置:

    [html]  view plain  copy
    1.  <resources>  
    2.            <resource>  
    3.                <directory>src/main/resources/</directory>  
    4.                <filtering>true</filtering>  
    5.                <includes>  
    6.                    <include>**/*.properties</include>  
    7.                </includes>  
    8.            </resource>  
    9.            <resource>  
    10.                <directory>src/main/resources/</directory>  
    11.                <filtering>false</filtering>  
    12.                <includes>  
    13.                    <include>**/*.xml</include>  
    14.                </includes>  
    15.            </resource>  
    16.        </resources>  

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.6</version>
    </plugin>


    resource的filtering属性用来表示资源文件中的占位符是否需要被替换,true为需要替换。这个不写的话就等着抓脑袋吧。。。。

    上面的定义是所有的.properties文件中的EL表达式占位符都会在打包时动态替换,所有的.xml文件则不会替换占位符。

    接下来我们配置两个profile,一个是测试环境,一个是正式环境配置:

    [html]  view plain  copy
    1. <profiles>  
    2.         <profile>  
    3.             <id>dev</id>  
    4.             <properties>  
    5.                 <jest.urls>http://n2:9200,http://n4:9200</jest.urls>  
    6.             </properties>  
    7.             <activation>  
    8.                 <activeByDefault>true</activeByDefault>  
    9.             </activation>  
    10.         </profile>  
    11.   
    12.         <profile>  
    13.             <id>production</id>  
    14.             <properties>  
    15.                 <jest.urls>http://192.168.3.241:9200,http://192.168.3.242:9200</jest.urls>  
    16.             </properties>  
    17.         </profile>  
    18.     </profiles>  

    我们再在src/main/resources目录下面创建一个config.properties文件,内容如下:

    jest.urls=${jest.urls}

    然后我们执行maven打包命令:clean package -DskipTests -Pdev

    查看对应的jar包里面的config.properties文件,可以发现占位符已经被替换成了profile dev中配置的jest.urls的值。

    增加一下官方wen'danghttp://maven.apache.org/plugins/maven-resources-plugin/

    展开全文
  • maven问题汇总 1、可能是setting中的maven仓库没配置对路径 2、可能是setting中的阿里云没配置好,或者是私服没配置好,因为可能没有网络导致clean不了,下载不下来jar包,远程桌面要配置私服的,因为没联网(针对...
  • Apache Maven Resources Plugin插件详解

    千次阅读 2019-12-20 23:04:14
    Apache Maven Resources Plugin是Apache Maven团队提供的官方核心插件,能够将Maven项目中的各种资源文件复制到指定的输出目录中。 1. 在Maven项目中的资源可以分为两类 main资源,指位于src/main/resources路径下...

    Apache Maven Resources Plugin是Apache Maven团队提供的官方核心插件,能够将Maven项目中的各种资源文件复制到指定的输出目录中。

    1. 在Maven项目中的资源可以分为两类

    • main资源,指位于src/main/resources路径下的资源文件
    • test资源,指位于src/test/resources路径下的资源文件

    2. Apache Maven Resources Plugin提供的Goals

    1) resources:resources

    将main资源文件复制到输出目录,默认已经加入到Maven的process-resources生命周期阶段。

    • <project><build><resources>指定要复制的main资源文件,默认位于src/main/resources路径
    • <project><build><outputDirectory>指定main资源的输出目录,默认位于target/classes/路径

    2) resources:testResources

    将test资源文件复制到输出目录,默认已经加入到Maven的process-test-resources生命周期阶段。

    • <project><build><testResources>指定要复制的test资源文件,默认位于src/test/resources路径
    • <project><build><testOutputDirectory>指定test资源的输出目录,默认位于target/test-classes/路径

    3) resources:copy-resources

    对于非main资源或非test资源,又没有在pom.xml的<build><resources>...</build></resources>配置的资源,在构建过程中不会输出到项目的target/classes/目录下。

    这时,可以通过maven-resources-plugin的<configure>给出要复制的任何资源,并给出target下的输出目录,示例如下:

                  <build>
                    <plugins>
                      <plugin>
                        <artifactId>maven-resources-plugin</artifactId>
                        <version>3.1.0</version>
                        <executions>
                          <execution>
                            <id>copy-resources</id>
                            <!-- bind to a phase, required -->
                            <phase>validate</phase>
                            <goals>
                              <goal>copy-resources</goal>
                            </goals>
                            <configuration>
                              <outputDirectory>${basedir}/target/extra-resources</outputDirectory>
                              <resources>
                                <resource>
                                  <directory>src/non-packaged-resources</directory>
                                  <filtering>true</filtering>
                                </resource>
                              </resources>
                              <testResources>
                                <testResource>
                                  <directory>src/non-packaged-testresources</directory>
                                  <filtering>true</filtering>
                                </testResource>
                              </testResources>
                            </configuration>
                          </execution>
                        </executions>
                      </plugin>
                    </plugins>
                    ...
                  </build>
    

    3. 示例

    1) 示例1,为资源文件配置encoding编码

    通常,在<properties>中为整个项目设置全局的encoding编码,如下:

                <project ...>
                 ...
                 <properties>
                   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
                   ...
                 </properties>
                 ...

    对于有的资源文件,如果不使用项目的全局encoding编码,则可以设置如下:

              <build>
                <plugins>
                  <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.1.0</version>
                    <configuration>
                      ...
                      <encoding>UTF-8</encoding>
                      ...
                    </configuration>
                  </plugin>
                  ...

    2) 示例2,配置非src/main/resources路径下的资源文件

          <build>
            <resources>
              <resource>
                <directory>src/resource2</directory>
              </resource>
              ...
            </resources>
            ...

    对于指定路径,还可以进一步指定include/exclude的文件

            <build>
              <resources>
                <resource>
                  <directory>src/resource2</directory>
                  <includes>
                    <include>**/*.xml</include>
                    <include>**/*.yaml</include>
                  </includes>
                </resource>
                ...
              </resources>
              ...
            <build>
              <resources>
                <resource>
                  <directory>src/resource2</directory>
                  <excludes>
                    <exclude>**/*.rtf</exclude>
                    <exclude>**/*.txt</exclude>
                  </excludes>
                </resource>
                ...
              </resources>
              ...
              <build>
                <resources>
                  <resource>
                    <directory>src/my-resources</directory>
                    <includes>
                      <include>**/*.txt</include>
                    </includes>
                    <excludes>
                      <exclude>**/*test*.*</exclude>
                    </excludes>
                    ...
                  </resource>
                  ...

    3) 示例3,替换资源文件中的占位符变量

    对于Maven标准的占位符变量,如${project.groupId},${project.artifactId},${project.version},${project.basedir}等,只要在配置<resource>的时候,设置<filtering>true</filtering>即可,如下:

              <build>
                <resources>
                  <resource>
                    <directory>src/main/resources</directory>
                    <includes>
                      <include>**/*.txt</include>
                    </includes>
                    <excludes>
                      <exclude>**/*test*.*</exclude>
                    </excludes>
                    <filtering>true</filtering>
                  </resource>
    

    这样,执行mvn resources:resources即可。

    或者,执行mvn resources:resources -Dname="world",直接给出${name}变量的值。

    对于非Maven标准的占位符变量,简单的情况下,直接在<project><properties>...</properties></project>声明,如下:

            <project>
              ...
              <properties>
                <your.name>world</your.name>
                ...
              </properties>
    

    在<resources><resource>...</resource></resources>的文件中引用${your.name}即可。

    如果有大量的占位符变量,可以在单独的filter属性配置文件中声明变量,在pom.xml文件中统一过滤,步骤如下:

    • 将要过滤的文件置于独立的路径src/main/resources-filtered
    • 创建文件my-filter-values.properties
    your.name = world
    • 配置pom.xml文件
                  <build>
                    ...
                    <filters>
                      <filter>my-filter-values.properties</filter>
                    </filters>
                    <resources>
                      <resource>
                        <directory>src/main/resources-filtered</directory>
                        <filtering>true</filtering>
                      </resource>
                      ...
    

    4) 示例4,禁止对某些资源文件进行任何替代(如图片文件进行过滤将导致文件被破坏)

          <build>
            <plugins>
              <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                  ...
                  <nonFilteredFileExtensions>
                    <nonFilteredFileExtension>pdf</nonFilteredFileExtension>
                    <nonFilteredFileExtension>swf</nonFilteredFileExtension>
                  </nonFilteredFileExtensions>
                  ...

    参考链接:

    https://maven.apache.org/plugins/maven-resources-plugin/index.html

    展开全文
  • mavenresources插件copy文件

    千次阅读 2018-05-21 12:32:25
    maven根据不同的运行环境,打包不同的配置文件profiles配置插件配置插件作用范围目标goal
  • Maven学习(四) - 插件maven-resources-plugin

    万次阅读 2019-03-11 16:36:35
    Maven将main resources和test resources分开,一般main resources关联main source code,而test resources关联test source code。 Resources插件目标有三个: resources:resources,拷贝main resources到main ...
  • 首先通过Maven插件实现按照不同环境,生成配置文件 为了应对环境切换,在配置文件conf.yaml中使用Maven属性,在项目打包过程制定是按照id为dev的profile进行构建,还是以id为test的profile进行构建。其中conf.yaml...
  • maven-resources-plugin的使用

    千次阅读 2019-08-06 15:42:44
    --对资源管理的插件,使用过程中发现maven-source-plugin可能会出现bug,推荐使用maven-resources-plugin--> <plugin> <groupId>org.apache.maven.plugins</groupId> ...
  • D:\myFile\test>mvn clean package -P test [INFO] Scanning for projects... ...[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ test --- [INFO] Deleting D:\myFile\test\target
  • maven-resources-plugin主要是将项目中的资源文件编译、打包;注意,资源文件不是源代码,一般是环境的配置文件,默认存在src/main/resources和src/test/resources中。 maven-resources-plugin的三个目标(goal): ...
  • Maven将main resources和test resources分开,一般main resources关联main source code,而test resources关联test source code。 Resources插件目标有三个: resources:resources,拷贝main resources到main ...
  • 插件版本: <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.0.2</version> <configuration> ...
  • -- maven-resources-plugin 插件会读取如下的resources配置,来完成文件的copy工作 --> <resources> <!-- 因为我们通过逆向工程生成的mapper.xml配置文件,是存放在Java文件目录下的,不是...
  • maven插件之maven-resource-plugin

    千次阅读 2020-01-05 20:27:48
    maven插件-maven-resource-plugin 使用 指定资源目录 Filtering include and exclude 包括与排除文件目录 Binary filtering(二进制文件过滤) maven插件-maven-resource-plugin maven resource plugin将复制的...
  • flyway maven plugin 是基于flyway的的数据库脚本升级插件 使用方式 1. 在resources下创建application.propeties,存放数据库相关配置 #default表示数据源的名字 db.default.url=jdbc:mysql://127.0.0.1/resty-demo?...
  • 前言 解决方法 build-resourcesmaven-resources-plugin 区别 参考博客 Maven学习笔记(十二)-maven打包之resource配置
  • <artifactId>maven-resources-plugin <version>3.0.2 <execution> <!--本示例显式地配置了process-resource阶段的插件配置--> <id>default-resources</id> <!-- default-resources是process-...
  • 最近开发的产品,我们是有四五个maven模块,开发阶段一直是在eclipse中运行的,然后快发版的时候,需要把这些项目打成jar包,通过命令去启动,那首先就得把这些模块项目打包,或者拷贝一些资源文件等等。  1.maven...
  • 转载落叶上的秋最后发布于2016-03-06 15:...在用Eclipse IDE for Java EE Developers进行maven项目的开发时,报错Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or...
  • IDEA中Maven配置出现Cannot resolve plugin org.apache.maven.plugins:maven-resources-plugin:3.1.0 注意修改配置文件与仓库地址,在本地maven仓库bin目录下面即可,刚开始一堆爆红,后来这个样子就OK了
  • Cannot resolve plugin org.apache.maven.plugins:maven-resources-plugin:3.2.0解决方法 在本地repo目录中找到org/apache/maven/plugins/,删除目录下的maven-resources-plugin,然后在idea中重新导入让它自动下载
  • maven-resources-plugin 的替换功能的坑

    千次阅读 2018-03-08 16:49:46
    文档链接https://maven.apache.org/plugins/maven-resources-plugin/index.html引用方法 &lt;plugin&gt; &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt; &lt;artifactId&...
  • 一篇值得一看的博文,主要涉及处理maven工程中的resources的内容。转自:http://xigua366.iteye.com/blog/2080668 maven用可以利用如下配置进行资源过滤,pom.xml的配置如下:   Xml代码  build>     ...
  • Maven插件–同一阶段的执行顺序

    千次阅读 2020-05-24 19:22:04
    在Maven中,您可以使用构建生命周期或阶段来控制插件执行的顺序。 在某些情况下,您必须将几个插件... 此错误已在Maven 3.0.3中修复, 绑定到同一阶段的Maven插件将按照pom.xml中列出的顺序执行 例如,在“ prepar...
  • Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0 踩踩填填,一路走来 之前做得好好的,突然无法启动项目,全程无报错,莫名其妙,鼓捣半天,终于搞定了 具体报错如下图: 解决...
  • Maven插件开发

    千次阅读 2019-01-31 10:08:31
    Maven插件开发 HelloWorld 命名规范:插件命名为&lt;youurplugin&gt; -maven-plugin。maven-&lt;yourplugin&gt;-plugin是Maven官方插件命名规范,不可使用。 新建Maven项目 groupId:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 48,573
精华内容 19,429
关键字:

maven插件resources