首页 > 其他分享 >22) 插件指定多个source folder、 插件获取 pom 文件中的信息

22) 插件指定多个source folder、 插件获取 pom 文件中的信息

时间:2023-06-01 17:13:12浏览次数:34  
标签:插件 java String 22 private source pom resources

操作

1. 增加插件

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/generated</outputDirectory>
                            <resources>
                                <resource>
                                    <filtering>true</filtering>
                                    <directory>${basedir}/src/main/templates</directory>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>1.9.1</version>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>${project.build.directory}/generated</source>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

2. 增加模板文件

 在 java/main 下新建 templates 文件夹

 

效果

这两个插件的作用:

build-helper-maven-plugin

可以把某个文件夹指定成为 Source folder

效果等同于

Spring 标准目录结构只有一个 Source Folder ,通过这个插件就可以设置多个。所有source folder 的内容都会被打包的。

 

maven-resources-plugin

 这个可以用来操作 java文件,本例中是用的 copy ,且copy过程中 过滤("@version@" ,在java文件中使用这个即可截获pom文件的<version>标签的文本内容)  

java 模板示例文件:

package a.b;
public class PomInfo {
    
    private String artifactId = "@artifactId@";
    private String groupId = "@groupId@";
    private String version = "@version@";

}

 

生成的类:

package a.b;
public class PomInfo {
    
    private String artifactId = "z-test";
    private String groupId = "cn.zno";
    private String version = "0.0.1-SNAPSHOT";

}

 

 

 

.
│   pom.xml
│
│
├───src
│   ├───main
│   │   ├───java
│   │   ├───resources
│   │   └───templates
│   │       └───a
│   │           └───b
│   │                   PomInfo.java
│   │
│   └───test
│       ├───java
│       └───resources
└───target
    ├───classes
    │   ├───a
    │   │   └───b
    │   │           PomInfo.class
    │   │
    │   └───META-INF
    │       │   MANIFEST.MF
    │       │
    │       └───maven
    │           └───cn.zno
    │               └───z-test
    │                       pom.properties
    │                       pom.xml
    │
    ├───generated
    │   └───a
    │       └───b
    │               PomInfo.java
    │
    └───test-classes

 

标签:插件,java,String,22,private,source,pom,resources
From: https://www.cnblogs.com/zno2/p/6122370.html

相关文章

  • vue2项目中使用dhtmlx gantt甘特图插件
    官网示例地址:https://docs.dhtmlx.com/gantt/samples/可以在这里查看绑定数据的格式安装依赖npminstalldhtmlx-gantt--save创建一个甘特图组件<template><el-scrollbarref="gantt_scrollbar"class="gantt-box"><divref="gantt"class=&qu......
  • 20180315~20180322每天复习
    MPUSH架构图: 系统调用关系图: mpush目前支持如下消息类型 publicenumCommand{HEARTBEAT(1),//心跳HANDSHAKE(2),//握手LOGIN(3),LOGOUT(4),BIND(5),//绑定用户UNBIND(6),//解绑用户......
  • Oracle:OpenEuler 22.03 安装oracle11g
    见本人文章:“国产操作系统openEuler\UOSserver,以及openSUSE:都成功安装单实例的oracle11g\12c” ......
  • couldn't clear tomcat cache java.lang.NoSuchFieldException: resourceEntries
    2015-09-2500:17:11,435WARN[dqapp24http-nio-8002-exec-22]com.opensymphony.xwork2.util.LocalizedTextUtilcouldn'tcleartomcatcachejava.lang.NoSuchFieldException:resourceEntriesatjava.lang.Class.getDeclaredField(Class.java:2062)~[na:1.8......
  • Unity转出FBX模型(Exporter插件)
    Unity转出FBX模型为了解决在Unity场景修改过导出的模型,以后给美工修改不了预制体的问题Unity版本要求:2021.3.6f1c1(包括但不限于此版本以上)下载插件场景中选中模型任意模型点击导出FBX导出模型设置路径......
  • jQuery 是javascript的一个库(常用插件、处理器)
    jQuery校验官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validationjQuery就是javascript的一个库,把我们常用的一些功能进行了封装,方便我们来调用,提高我们的开发效率。极大地简化了JavaScript编程。Javascipt跟jQuery的区别:Javascript是一门编程语言,我们用......
  • HTML5 CANVAS 弹幕插件
    概述修改了普通弹幕运动的算法,新增了部分功能详细修改了普通弹幕运动的算法,新增了部分功能,具体请参看附件里的CHANGELOG.md和README.md一、概述说实话,从第二版到现在又过了半年,本来以为可能不会写第三版的,顶多将第二版的代码重构下就可以了,没想到还是花了一个星期左......
  • 使用Paste Image插件来方便的给Markdown添加截图的功能
    日常用vscode写markdown时可能会需要添加截图,这时一般的做法有两种,一种是把图片上传到图床,然后把图片链接写到![]()里另一种是,把图片保存到本地某个目录下,使用相对路径添加图片这两种方式操作起来都比较麻烦,因为都需要先把截图保存下来,所以有没有类似qq,wechat那种可以直接使用截......
  • HDU2227(非降子序列的个数)
    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2227题意:给定一个长度为n(n<=100000)的整数序列,求其中的非降子序列的个数。分析:如果n的值比较小,那么就是一个纯粹的dp题。设dp[i]表示以a[i]为结尾非降子序列的个数,其状态转移方程为:      可以看出,这样做的时间复杂度是......
  • 算法学习(22): 逆序对与原序列
    逆序对与原序列在《组合数学》中有这么一个从逆序列构建一个排列的过程……而刚好有一场考试有考了类似的问题,于是在此总结一下。目录逆序对与原序列逆序列逆序个数带修改问题逆序列假定我们有序列\(P\)是\(\{1,2,\cdots,n\}\)的一个排列。如果\(i<j\)并且\(p_......