pom.xml 文件中的一些标签说明

1、普通maven项目(非SpringBoot项目)需要用到的maven插件有:

maven的编译插件:    

maven项目会用maven-compiler-plugin默认的jdk版本来进行jar编译,如果不指明版本就容易出现版本不匹配的问题,可能导致编译不通过的问题。解决办法:在pom文件中配置maven-compiler-plugin插件(以jdk1.8)。

 


1、方式一,指定maven.compiler.source的配置信息:

   <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

 

2、方式二,直接安装指定的plugin插件:

     <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

 

 

 

2、maven的打jar包插件:     

 

1、:

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                    <archive>
                        <manifest>
                            <!-- 指定入口main方法类 -->
                            <mainClass>com.yh.main.XX</mainClass>
                            <!-- 是否添加依赖的jar路径配置 -->
                            <addClasspath>true</addClasspath>
                            <!-- 依赖的jar包存放位置,和生成的jar放在同一级目录下 -->
                            <classpathPrefix>lib/</classpathPrefix>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

 

 2-1、pom文件继承自 spring-boot-starter-parent 的parent节点,则直接

<properties> 
    <-- 指向main启动类 -->
   <start-class>com.main.xx</start-class>
</properties>

2-2、第二种,pom文件不是继承自spring-boot-starter-parent,则:

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

          <artifactId>spring-boot-maven-plugin</artifactId>

         <version>1.3.5.RELEASE</version>

         <configuration>
            <-- 指向main方法类 -->

            <mainClass>com.main.xx</mainClass>

         </configuration>

          <executions>

            <execution>

            <goals>

            <goal>repackage</goal>

            </goals>

            </execution>

         </executions>

</plugin>

</plugins>

</build>

 

3、exclusion 标签解释:     

 举例说明: 比如dubbo框架也包含了spring-content、spring-beans、spring-web 这些依赖,假如本身项目的<dependencys>标签中就已经存有spring-content、spring-beans、spring-web这些依赖信息,为避免冲突,可在标签<dependency>中使用<exclusion>来排除依赖冲突项:

使用标签前:

 使用标签后:

 

 

4、dependencyManagement  标签解释:     

 举例说明: <dependencyManagement> 主要用来维护版本号,可以避免jar版本的冲突,比如Spring Cloud 下面又很多子项目:feign   hystrix  eureka 等,引入这些子项目依赖可不写版本号(依赖中不必写:<version>标签)而交给SpringCloud进行版本管理:

<dependencies>
	        <dependency>
	            <groupId>org.springframework.cloud</groupId>
	            <artifactId>spring-cloud-starter-feign</artifactId>
	        </dependency>
	        <dependency>
	            <groupId>org.springframework.cloud</groupId>
	            <artifactId>spring-cloud-starter-hystrix</artifactId>
	        </dependency>
	        <dependency>
	            <groupId>org.springframework.cloud</groupId>
	            <artifactId>spring-cloud-starter-zipkin</artifactId>
	        </dependency>
	        <dependency>
	            <groupId>org.springframework.cloud</groupId>
	            <artifactId>spring-cloud-starter-eureka</artifactId>
	        </dependency>
</dependencies>



<dependencyManagement>
	        <dependencies>
	            <dependency>
	                <groupId>org.springframework.cloud</groupId>
	                <artifactId>spring-cloud-dependencies</artifactId>
	                <version>Edgware.RELEASE</version>
	                <type>pom</type>
	                <scope>import</scope>
	            </dependency>
	        </dependencies>
</dependencyManagement>

注意:Spring Cloud 版本依赖  Spring Boot版本,可通过  https://blog.csdn.net/qq32933432/article/details/89375630  进行查询匹配版本

 

 

 

 

 

 

 

 

 

在Java的项目pom.xml文件是Maven项目的核心配置文件,它使用了一些特定的标签来定义项目的元数据、依赖关系、构建配置等。下面是一些常用的pom.xml标签及其具体使用: 1. `<project>`:项目的根标签,用于定义项目的基本信息。 - `<modelVersion>`:指定项目的POM模型版本。 - `<groupId>`:定义项目所属的组织或团队的唯一标识符。 - `<artifactId>`:定义项目的唯一标识符。 - `<version>`:定义项目的版本号。 2. `<dependencies>`:用于定义项目的依赖关系。 - `<dependency>`:定义一个依赖项。 - `<groupId>`:定义依赖项的groupId。 - `<artifactId>`:定义依赖项的artifactId。 - `<version>`:定义依赖项的版本号。 3. `<build>`:用于定义项目的构建配置。 - `<plugins>`:定义构建过程使用的插件。 - `<plugin>`:定义一个插件。 - `<groupId>`:定义插件的groupId。 - `<artifactId>`:定义插件的artifactId。 - `<version>`:定义插件的版本号。 - `<executions>`:定义插件的执行配置。 - `<execution>`:定义一个执行配置。 - `<id>`:定义执行配置的唯一标识符。 - `<phase>`:定义执行配置所在的构建阶段。 - `<goals>`:定义执行配置要执行的目标。 4. `<repositories>`:用于定义项目使用的仓库配置。 - `<repository>`:定义一个仓库。 - `<id>`:定义仓库的唯一标识符。 - `<url>`:定义仓库的URL。 这只是一些常用的pom.xml标签及其用法示例,实际的使用可能会更加复杂,具体可以根据项目需求进行配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值