Maven自定义配置

news2024/10/7 5:21:12

修改maven默认字符编码

  1. maven默认编码为GBK
    注:配好MAVEN_HOME的环境变量后,在运行cmd.
    打开cmd 运行mvn -v命令即可.
    修改UTF-8为默认编码.
  2. 设置系统环境变量
    变量名MAVEN_OPTS
    变量值-Dfile.encoding=UTF-8
    还可以添加其他配置,比如: -Xms256m -Xmx512m

idea中maven插件执行命令时,输出乱码

乱码

解决方案

      &nbspmaven 运行时vm文件编码设置为本地windows默认编码.解决问题.
在这里插入图片描述

pom.xml properties可以设置哪些默认配置

      &nbsp在Maven的pom.xml文件中,用于定义全局变量,在POM中通过${property_name}的形式引用变量的值。

POM中的全局变量可以分为如下5种类型:

  1. 系统Shell的环境变量env.property_name,如${env.PATH}表示引用当前系统的PATH变量值,注意这里的PATH必须都是大写。
  2. Java System Properties,即Java属性文件,如${java.home}
  3. project.property_name,直接引用POM中的元素值,如${project.version}表示引用1.0中的1.0
  4. settings.property_name,直接引用settings.xml中的元素值,如${settings.offline}表示引用false中的false
  5. property_name,直接访问中已经定义的变量值,如${myVar}表示引用myvalue中的myvalue

pom.xml 配置maven-source-plugin

      &nbspmaven-source-plugin 是 Maven 插件,用于将项目的源代码打包成 JAR 包。该插件可以将项目中的 Java 源代码、资源文件和 JAR 包一起打包,以便于分发和部署。打成的jar后后会带-source字样;之后通过deploy就可以将改包发布到仓库中;仓库中有这个包在idea中才可以点击下载源码,查看注释和源码。

配置

<build>
    <plugins>
        <!--生成source jar包-->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>3.2.1</version>
            <configuration>
                <!--install、deploy时会上传源码jar包到仓库,默认是true-->
                <attach>true</attach>
            </configuration>
            <executions>
                <execution>
                    <id>attach-source</id>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

pom.xml 配置maven-javadoc-plugin

       maven-javadoc-plugin 是 Maven 插件,用于生成 Java 类文档。它可以将 Java 类文档生成为 HTML、XML 或 JAR 包,以便于在网页上展示或打包到应用程序中。

具体来说,maven-javadoc-plugin 插件可以按照以下步骤工作:

  1. 编译 Java 类文件为 .class 文件。
  2. 将 .class 文件转换为 JavaDoc 格式。maven-javadoc-plugin 会将 .class 文件中的注释转换为 JavaDoc 注释,并生成相应的文档。
  3. 将生成的 JavaDoc 注释合并到相应的 HTML、XML 或 JAR 包中,以便于在网页上展示或打包到应用程序中。

      &nbsp使用 maven-javadoc-plugin 插件可以提高代码的可读性和可维护性,同时也有助于提高应用程序的可靠性和可扩展性。它可以帮助开发人员更方便地向用户传递类似“这个类有以下方法:”这样的信息,而无需提供长长的文档字符串。

配置

<properties>
	<!--解决javadoc时doclint的错误-->
    <additionalparam>-Xdoclint:none</additionalparam>
</properties>
<build>
    <plugins>
        <!--生成doc jar包-->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.10.4</version>
            <executions>
                <execution>
                    <id>attach-javadocs</id>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <!-- 解决控制台乱码 -->
                <charset>UTF-8</charset>
                <encoding>UTF-8</encoding>
                <docencoding>UTF-8</docencoding>
                <javadocExecutable>C:\Program Files\Java\jdk1.8.0_181\bin\javadoc</javadocExecutable>
            </configuration>
        </plugin>
    </plugins>
</build>

pom.xml 中phase标签含义

pom.xml 中 phase 标签用于指定构建生命周期中的不同阶段,每个 phase 都有自己的作用和目标。以下是 phase 标签的含义:

  1. initialize:初始化阶段,在此阶段中,Maven 会查找项目中的所有模块,并将它们添加到项目的依赖项数据库中。
  2. prepare:准备阶段,在此阶段中,Maven 会对项目中的模块进行预处理,例如,它会检查模块是否存在、是否已编译等。
  3. build:构建阶段,在此阶段中,Maven 会根据 pom.xml 文件中的配置,编译、打包和运行项目中的模块。
  4. test:测试阶段,在此阶段中,Maven 会对项目中的测试用例进行编写、执行和调试。
  5. clean:清理阶段,在此阶段中,Maven会删除项目中无用的文件和目录,释放内存。
  6. install:安装阶段,在此阶段中,Maven 会将项目打包成可执行的 JAR包,并将其安装到指定的位置。
  7. end:结束阶段,在此阶段中,Maven 会关闭项目的依赖项数据库,并清理未使用的文件和目录。

在 pom.xml 文件中,可以使用 标签来指定一个或多个 phase,并为每个 phase 指定一个目标。例如,可以为 initialize 和 clean 指定不同的目标,如下所示:

<dependencies>  
  ...  
  <dependency>  
    <groupId>groupId</groupId>  
    <artifactId>artifactId</artifactId>  
    <version>version</version>  
  </dependency>  
  ...   
</dependencies>  
  
<build>  
  <plugins>  
    <plugin>  
      <groupId>org.apache.maven.plugins</groupId>  
      <artifactId>maven-source-plugin</artifactId>  
      <version>3.2.0</version>  
      <executions>  
        <execution>  
          <id>attach-sources</id>  
          <phase>prepare</phase>  
          <goals>  
            <goal>attach-sources</goal>  
          </goals>  
        </execution>  
      </executions>  
      <configuration>  
        <attach>true</attach>  
        <sources>  
          <source>src/main/java</source>  
          <source>src/main/resources</source>  
        </sources>  
      </configuration>  
    </plugin>  
  </plugins>  
</build>

在这个例子中,initialize 和 clean 都指定了相同的目标 prepare,但是为每个 phase 指定了不同的目标。这样做可以让构建生命周期更加清晰和可管理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/512680.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IDEA编译JDK1.8源码及运行测试

———————————————— 版权声明&#xff1a;本文为CSDN博主「神韵499」的原创文章&#xff0c;遵循CC 4.0 BY-SA版权协议&#xff0c;转载请附上原文出处链接及本声明。 原文链接&#xff1a;https://blog.csdn.net/qq_41055045/article/details/112002440 ————…

【Qt编程之Widgets模块】-004:QTableWidget及基本操作

QTableWidget及基本操作 1. 概述2. 主要操作函数2.1 QTableWidgets实例化2.2 设置表头 setHorizontalHeaderLabels2.3 单元格选择&#xff1a;setSelectionBehavior2.4 设置列数 setColumnCount2.5 设置行数 setRowCount2.6 网格的显示 setShowGrid2.7 添加表项 setItem2.8 表项…

常见的锁和zookeeper

zookeeper 本文由 简悦 SimpRead 转码&#xff0c; 原文地址 zhuanlan.zhihu.com 前言 只有光头才能变强。 文本已收录至我的 GitHub 仓库&#xff0c;欢迎 Star&#xff1a;https://github.com/ZhongFuCheng3y/3y 上次写了一篇 什么是消息队列&#xff1f;以后&#xff0c;本来…

Ubuntu 20.04.5 LTS x86_64 Docker stable diffusion webui 及 http api接口

资源 Docker镜像 docker pull darkroot1234/ayanami:latest 参考地址&#xff1a; docker一键运行stable diffusion webui&#xff0c;常用插件和功能完备&#xff0c;获得镜像后可打包带走 - 哔哩哔哩 nvidia cuda 驱动 https://us.download.nvidia.cn/XFree86/aarch64/…

Django框架005:阶段性`实战小案例`“答辩“公司员工表

大家好&#xff0c;我是csdn的博主&#xff1a;lqj_本人 这是我的个人博客主页&#xff1a; lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…

基于 DDR3 的串口传图帧缓存系统设计实现(整体设计)

文章目录 前言一、串口传图顶层系统设计框图二、各模块说明三、系统工程及 IP 创建四、uart_ddr3_tft模块五、uart_ddr3_tft模块仿真文件六、uart_ddr3_tft模块仿真文件 前言 结合串口接收模块和 tft 显示屏控制模块&#xff0c;设计一个基于 DDR3 的串口传图帧缓存系统。 提示…

DES加密算法、RSA加密算法

DES加密算法 DES加密过程 1、将明文和密钥转化为ASCII码&#xff0c;明文64位bit&#xff0c;密钥56位 2、明文进行初始置换 3、明文初始置换后前32位为L0&#xff0c;后32位为R0 4、第一轮算法&#xff0c;L1R0&#xff0c;R0进行F运算后跟L0异或的结果为R1 5、F运算&#x…

jmeter如何测试一个get请求

目录 1.配置测试计划1.1.创建线程组1.2.创建GET的HTTP请求取样器&#xff08;模拟GET请求&#xff09;1.3.添加查看结果树和聚合报告 2.执行压测并查看结果2.1.验证接口2.2.执行压力测试 使用jmeter测试一个http的get请求示例. 1.配置测试计划 1.1.创建线程组 打开jmeter - 测…

C语言实现扫雷(包含递归展开)

目录 一&#xff1a;扫雷游戏的基础逻辑 二&#xff1a;关于扫雷相关的信息存储 三&#xff1a;游戏大体实现逻辑 四&#xff1a;具体实现 (1)初始化 (2)打印 (3)布置雷 (4)查雷 五&#xff1a;全部代码 (1)game.h (2)game.c (3)test.c 六&#xff1a;实际效果演示…

【操作系统复习】第6章 虚拟存储器 2

请求分页中的内存分配 在为进程分配物理块时&#xff0c;要解决下列的三个问题&#xff1a; 1. 保证进程可正常运行所需要的最少物理块数 2. 每个进程的物理块数&#xff0c;是固定值还是可变值&#xff08;分配策略&#xff09; 3. 不同进程所分配的物理块数&#xff…

Python基础入门编程代码练习(三)

一、猜数游戏 有一个数列&#xff1a;8&#xff0c;4&#xff0c;2&#xff0c;1&#xff0c;23&#xff0c;344&#xff0c;12循环输出数列的值求数列中所有数值的和猜数游戏&#xff1a;从键盘中任意输入一个数据&#xff0c;判断数列中是否包含此数 实现代码如下&#xf…

【云原生】Kubrenetes二进制--单节点Master集群

单节点Master集群 一、Kubernetes概述1、Master组件2、Node组件 二、Kubernetes核心概念1、Pod概述2、Pod控制器3、Label标签4、Label选择器5、Service6、Ingress 三、部署kubernetes1、所有节点关闭防火墙 核心防护 Swap交换2、将三台服务器的地址hosts中3、调整内核参数4、时…

十分钟教你搭建ChatGPT 图片生成的安卓应用

十分钟教你搭建ChatGPT 图片生成的安卓应用 大家好&#xff0c;我是易安&#xff01; 今天&#xff0c;我们将集成 OpenAI API (ChatGPT)来构建一个简单的类似 ChatGPT 的 android 应用程序&#xff0c;让它返回我们想要的图片&#xff0c;本文是上一篇的姊妹篇。 详细步骤 第…

防止表单重复提交的几种方式,演示一个自定义注解方式的实现

防止表单重复提交的几种方式&#xff0c;演示一个自定义注解方式的实现 一、防止表单重复提交的几种方式方式一&#xff1a;Token 机制方式二&#xff1a;去重表&#xff08;主要是利用 MySQL 的唯一索引机制来实现的&#xff09;方式三&#xff1a;Redis 的 setnx方式四&#…

数组(C语言版)

&#x1f929;本文作者&#xff1a;大家好&#xff0c;我是paperjie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 &#x1f970;内容专栏&#xff1a;这里是《C知识系统分享》专栏&#xff0c;笔者用重金(时间和精力)打造&#xff0c;基础知识一网打尽&#xff0c;…

3 ES快速入门

3 ES快速入门 ES作为一个索引及搜索服务&#xff0c;对外提供丰富的REST接口&#xff0c;快速入门部分的实例使用head插件来测试&#xff0c;目的是对ES 的使用方法及流程有个初步的认识。 3.1 创建索引库 ES的索引库是一个逻辑概念&#xff0c;它包括了分词列表及文档列表…

电力系统负荷与电价预测优化模型(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【C++】vector的模拟实现及深度剖析

目录 一、模拟实现二、使用memcpy拷贝问题三、动态二维数组理解 一、模拟实现 namespace hxj {template<class T>class vector{public:// Vector的迭代器是一个原生指针typedef T* iterator;typedef const T* const_iterator;//构造和销毁vector():_start(nullptr), _fi…

Spring更简单的存储和读取Bean对象

目录 1.第一个Spring项目 2.存储Bean对象 2.1 准备工作 2.2 五大类注解 2.3 方法注解Bean 2.4 Bean对象的默认命名规则 3. 读取Bean对象 3.1 属性注入 3.2 setter注入 3.3 构造方法注入 3.4 注入异常问题 3.5 注入方式优缺点 3.6 Autowired和Resource的区别 1.第一…

python web开发(二):HTML标签语言

文章目录 简介标签语法标题div和span超链接插入图片列表表格Input系列提交表单 参考 简介 如下展示了一段简单的HTML模板&#xff0c; <head></head>标签中主要包含一些基本配置&#xff0c;如编码方式&#xff0c;标题等&#xff0c;注意标题的作用如下图所示 …