最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

史上最全maven中的pom詳述

 更新時間:2025年10月09日 14:42:53   作者:TimelyRain_yt  
pom是maven的基本工作單元,它是一個XML文件,其中包含有關(guān)項目的信息以及Maven用于構(gòu)建項目的配置詳細(xì)信息,本文給大家介紹maven中的pom詳述,感興趣的朋友一起看看吧

maven中的pom詳述

什么是POM?

POM(Project Object Model)是maven的基本工作單元。它是一個 XML 文件,其中包含有關(guān)項目的信息以及 Maven 用于構(gòu)建項目的配置詳細(xì)信息。簡單來說:POM(pom.xml)就是整個工程的項目規(guī)劃書,它定義了項目的所有細(xì)節(jié):需要什么材料(依賴)、由誰建造(開發(fā)者信息)、如何建造(構(gòu)建配置)、以及項目的版本等。

超級POM

超級 POM 是 Maven 的默認(rèn) POM。除非顯式設(shè)置,否則所有 POM 都會擴展超級 POM,這意味著超級 POM 中指定的配置將為項目創(chuàng)建的 POM 繼承。超級POM可以理解為MAVEN世界的憲法,所有maven項目都必須遵守。超級POM中定義了一些默認(rèn)配置,下面列舉幾個:

默認(rèn)目錄結(jié)構(gòu)

<!-- 源代碼目錄 -->
<sourceDirectory>src/main/java</sourceDirectory>
<resources>
    <resource>
        <directory>src/main/resources</directory>
    </resource>
</resources>
<!-- 測試代碼目錄 -->  
<testSourceDirectory>src/test/java</testSourceDirectory>
<testResources>
    <testResource>
        <directory>src/test/resources</directory>
    </testResource>
</testResources>
<!-- 輸出目錄 -->
<outputDirectory>target/classes</outputDirectory>
<testOutputDirectory>target/test-classes</testOutputDirectory>

這就是為什么所有 Maven 項目都長得一樣的原因。

默認(rèn)倉庫配置

<repositories>
    <repository>
        <id>central</id>
        <name>Central Repository</name>
        <url>https://repo.maven.apache.org/maven2</url>
    </repository>
</repositories>

所有依賴默認(rèn)都從 Maven 中央倉庫下載。

默認(rèn)插件配置及默認(rèn)插件版本管理

構(gòu)建階段默認(rèn)插件作用
compilemaven-compiler-plugin編譯源代碼
testmaven-surefire-plugin運行單元測試
packagemaven-jar-plugin打包成 JAR 文件
installmaven-install-plugin安裝到本地倉庫

對不同構(gòu)建階段綁定了不同的插件。

默認(rèn)打包配置

<!-- 默認(rèn)打包方式就是 JAR -->
<packaging>jar</packaging>

最小的 POM

POM 用三坐標(biāo)(groupId、artifactId、version)的方式唯一標(biāo)識一個項目??梢岳斫獬身椖康?strong>身份證。如:

<project> <!-- 說:這是個項目 -->
  <modelVersion>4.0.0</modelVersion> <!-- 說:用第4版規(guī)則 -->
  <groupId>com.mycompany.app</groupId> <!-- 姓:公司/組織名 -->
  <artifactId>my-app</artifactId> <!-- 名:項目具體叫啥 -->
  <version>1</version> <!-- 排行:這是第幾個版本 -->
</project>

POM核心元素

一個標(biāo)準(zhǔn)的 POM 文件包含以下核心元素:

坐標(biāo)(Coordinates) - 項目的唯一標(biāo)識

  • groupId: 定義項目所屬的實際組織或公司,通常使用反向域名。例如:com.google.guava。
  • artifactId: 定義實際項目(模塊)的名稱。例如:guava。
  • version: 定義項目的當(dāng)前版本。例如:31.1-jre。SNAPSHOT:表示不穩(wěn)定、尚在開發(fā)中的版本。RELEASE:表示穩(wěn)定的發(fā)布版本。
  • packaging: 定義項目的打包方式。默認(rèn)為 jar。其他常見值:war, ear, pom(用于聚合或父POM)。

這三個元素(groupId, artifactId, version)合稱為GAV,是 Maven 世界的唯一身份證。

依賴管理(Dependencies)

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
        <scope>test</scope>
        <optional>false</optional>
        <exclusions>
            <exclusion>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>
  • scope: 依賴范圍 : compile: 默認(rèn)值。對編譯、測試、運行都有效。
  • provided: 表示 JDK 或容器在運行時已提供(如 servlet-api)。只在編譯和測試時使用。
  • runtime: 編譯時不需要,但測試和運行時需要(如 JDBC 驅(qū)動)。
  • test: 只在測試時使用(如 JUnit)。
  • system: 與 provided 類似,但必須通過 systemPath 顯式指定路徑(不推薦)。
  • import: 僅用于 dependencyManagement 部分,用于從其他 POM 導(dǎo)入依賴管理。
  • optional: 標(biāo)記依賴是否為可選。如果為 true,其他項目依賴本項目時,該依賴不會被傳遞?!驹O(shè)你開發(fā)了一個核心軟件,這個軟件支持多種數(shù)據(jù)庫(MySQL、PostgreSQL等),但是你不希望強制使用你軟件的人必須包含所有數(shù)據(jù)庫驅(qū)動。你可以把數(shù)據(jù)庫驅(qū)動設(shè)置為可選。這樣,當(dāng)別人在他的項目中引入你的軟件時,他不會自動獲得所有這些數(shù)據(jù)庫驅(qū)動,他需要明確指定他需要哪個驅(qū)動(在自己的pom里面單獨引入)】,具體而言:
<project>
  <groupId>com.example</groupId>
  <artifactId>project-A</artifactId>
  <version>1.0.0</version>
  ...
  <dependencies>
    <!-- 可選依賴:MySQL驅(qū)動 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.28</version>
      <optional>true</optional>
    </dependency>
    <!-- 可選依賴:PostgreSQL驅(qū)動 -->
    <dependency>
      <groupId>org.postgresql</groupId>
      <artifactId>postgresql</artifactId>
      <version>42.3.6</version>
      <optional>true</optional>
    </dependency>
  </dependencies>
</project>

現(xiàn)在,有另一個項目project-B依賴了project-A:

<project>
  <groupId>com.example</groupId>
  <artifactId>project-B</artifactId>
  <version>1.0.0</version>
  ...
  <dependencies>
    <dependency>
      <groupId>com.example</groupId>
      <artifactId>project-A</artifactId>
      <version>1.0.0</version>
    </dependency>
  </dependencies>
</project>

那么,project-B不會自動傳遞依賴MySQL和PostgreSQL驅(qū)動。如果project-B需要用到MySQL,那么它必須在自己的POM中顯式聲明MySQL驅(qū)動。

  • exclusions: 排除傳遞性依賴,用于解決依賴沖突。

父 POM 與繼承(Parent)

用于從父 POM 繼承配置,實現(xiàn)統(tǒng)一管理。類似于JAVA中的繼承。

注意點:

  1. 父POM的packaging必須是pom。
  2. 子POM通過元素指定父POM,其中g(shù)roupId、artifactId、version必須與父POM的坐標(biāo)一致。
  3. relativePath:指定查找父POM的相對路徑。默認(rèn)值是…/pom.xml,即先從本地文件系統(tǒng)查找,如果沒找到,再從倉庫查找。
  4. 如果設(shè)置為空,則表示不從相對路徑查找,直接從倉庫查找。
  5. 繼承的內(nèi)容:父POM中定義的依賴、插件、屬性、依賴管理、插件管理等都可以被繼承。

總的來說:

  • 父POM:統(tǒng)一配置、依賴版本、默認(rèn)設(shè)置。
  • 子POM:繼承配置、使用依賴、覆蓋配置【可以有個性】。

relativePath規(guī)則:

設(shè)置方式策略適用場景
<relativePath/></font>
空標(biāo)簽
1. 去本地倉庫找 2. 去遠(yuǎn)程倉庫找父POM是知名框架(Spring Boot)
<relativePath>../pom.xml</relativePath></font>1. 去…/pom.xml找 2. 找不到再去倉庫父POM在本地項目里

示例1:

子pom文件:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.0</version>
    <relativePath/>
</parent>
<artifactId>my-app</artifactId>
<!-- 只寫了自己的名字,其他都沒寫 -->

實際生效的配置:

<!-- 自動獲得老爸的配置 -->
<properties>
    <java.version>11</java.version>           <!-- Java 11 -->
    <maven.compiler.source>11</maven.compiler.source>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- 自動獲得依賴版本管理 -->
<dependencyManagement>
    <!-- Spring Boot 2.7.0 兼容的所有版本 -->
    <spring.version>5.3.20</spring.version>
    <jackson.version>2.13.3</jackson.version>
    <!-- ... -->
</dependencyManagement>
<!-- 自動獲得插件配置 -->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

項目聚合(Modules)

目的:用于將多個模塊/子項目聚合在一起,以便一次性構(gòu)建整個項目。

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany</groupId>
  <artifactId>my-app-aggregator</artifactId>
  <version>1.0</version>
  <packaging>pom</packaging>   <!-- 必須為pom -->
  <modules>
    <module>core-module</module>   <!-- 相對路徑,表示聚合項目目錄下的core-module目錄 -->
    <module>service-module</module>
    <module>web-module</module>
  </modules>
</project>

這通常用在父 POM(其 packaging 為 pom)中。聚合項目本身可以沒有源碼,它只是作為一個構(gòu)建的入口。在聚合項目目錄下執(zhí)行mvn命令,Maven會根據(jù)模塊間的依賴關(guān)系自動確定構(gòu)建順序,依次構(gòu)建每個模塊。

聚合和繼承經(jīng)常結(jié)合使用:聚合項目同時作為父項目,提供統(tǒng)一的配置管理。這種情況下,聚合項目的pom.xml中既有也有等配置。

示例:

  • 父pom
<project>
    <modelVersion>4.0.0</modelVersion>
    <!-- 聚合項目的身份證 -->
    <groupId>com.mycompany</groupId>
    <artifactId>ecommerce-platform</artifactId>
    <version>1.0.0</version>
    <!-- 關(guān)鍵:打包方式必須是pom -->
    <packaging>pom</packaging>
    <!-- 聚合的核心:列出所有小弟 -->
    <modules>
        <module>user-service</module>      <!-- 用戶服務(wù)模塊 -->
        <module>product-service</module>   <!-- 商品服務(wù)模塊 -->
        <module>order-service</module>     <!-- 訂單服務(wù)模塊 -->
        <module>common</module>            <!-- 公共模塊 -->
    </modules>
    <!-- 注意:聚合項目可以同時是父項目 -->
    <properties>
        <java.version>11</java.version>
        <spring-boot.version>2.7.0</spring-boot.version>
    </properties>
    <dependencyManagement>
        <dependencies>
            <!-- 統(tǒng)一的依賴版本管理 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>
  • 子模塊的配置(以user-service為例)
<!-- user-service/pom.xml -->
<project>
    <modelVersion>4.0.0</modelVersion>
    <!-- 既可以認(rèn)父(繼承),又可以被聚合 -->
    <parent>
        <groupId>com.mycompany</groupId>
        <artifactId>ecommerce-platform</artifactId>
        <version>1.0.0</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <!-- 自己的身份證 -->
    <artifactId>user-service</artifactId>
    <packaging>jar</packaging>  <!-- 子模塊通常是jar或war -->
    <dependencies>
        <!-- 依賴common模塊 -->
        <dependency>
            <groupId>com.mycompany</groupId>
            <artifactId>common</artifactId>
            <version>${project.version}</version>
        </dependency>
        <!-- 其他業(yè)務(wù)依賴 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
</project>
  • 對比:

不使用聚合:

# 要跑4次命令,還要注意構(gòu)建順序!
cd common && mvn clean install
cd ../user-service && mvn clean install  
cd ../product-service && mvn clean install
cd ../order-service && mvn clean install

使用后:

# 在聚合項目根目錄,一次搞定!
cd ecommerce-platform
mvn clean install
# Maven自動處理:
# 1. 分析模塊依賴關(guān)系(common → user-service → ...)
# 2. 按正確順序構(gòu)建
# 3. 一次性輸出所有結(jié)果
  • 一般微服務(wù)項目結(jié)構(gòu)示例:
platform/
├── pom.xml(聚合所有微服務(wù))
├── gateway/(網(wǎng)關(guān)服務(wù))
├── user-service/(用戶服務(wù))
├── order-service/(訂單服務(wù))
└── product-service/(商品服務(wù))

屬性(Properties)

用于定義變量,方便統(tǒng)一管理和復(fù)用,常見在父POM中定義公共屬性。

<properties>
    <java.version>11</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>${java.version}</maven.compiler.source>
    <maven.compiler.target>${java.version}</maven.compiler.target>
    <spring.version>5.3.20</spring.version>
</properties>
<!-- 在依賴中使用屬性 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${spring.version}</version>
</dependency>

屬性的常見用法:

  • 定義公共屬性,如上。
  • 多環(huán)境配置【開發(fā)、測試、生產(chǎn)環(huán)境用不同配置】
<properties>
    <!-- 默認(rèn)開發(fā)環(huán)境配置 -->
    <env>dev</env>
    <server.port>8080</server.port>
    <database.url>jdbc:mysql://localhost:3306/dev</database.url>
</properties>
<profiles>
    <profile>
        <id>prod</id>
        <properties>
            <!-- 生產(chǎn)環(huán)境覆蓋默認(rèn)值 -->
            <env>prod</env>
            <server.port>80</server.port>
            <database.url>jdbc:mysql://prod-server:3306/prod</database.url>
        </properties>
    </profile>
</profiles>

構(gòu)建配置(Build)

用于配置構(gòu)建過程中的插件和行為。

構(gòu)建配置可以包含兩個主要部分:

  • :用于管理插件的版本和配置,類似于依賴管理,它本身不會實際引入插件,只是提供一種統(tǒng)一管理的方式。子項目可以繼承并引用這些插件,而無需指定版本。
  • :實際使用的插件列表,在這里配置的插件會在構(gòu)建過程中執(zhí)行。

此外,構(gòu)建配置還包括:

  • resources : 定義資源文件(非代碼文件)如何處理,例如配置文件、圖片等。
  • testResources:定義測試資源文件如何處理。
  • directory: 構(gòu)建輸出目錄,默認(rèn)為target。
  • outputDirectory: 編譯后的class文件輸出目錄,默認(rèn)為target/classes。
  • testOutputDirectory: 測試類編譯輸出目錄,默認(rèn)為target/test-classes。
  • sourceDirectory: 源代碼目錄,默認(rèn)為src/main/java。
  • testSourceDirectory: 測試代碼目錄,默認(rèn)為src/test/java。

一般為:

<build>
    <!-- 1. 源代碼目錄(可以改默認(rèn)位置) -->
    <sourceDirectory>src/main/java</sourceDirectory>
    <testSourceDirectory>src/test/java</testSourceDirectory>
    <!-- 2. 資源文件處理 -->
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>true</filtering> <!-- 是否替換占位符 -->
        </resource>
    </resources>
    <!-- 3. 插件管理(父POM中用) -->
    <pluginManagement>
        <plugins>
            <!-- 定義插件版本和基礎(chǔ)配置 -->
        </plugins>
    </pluginManagement>
    <!-- 4. 實際使用的插件 -->
    <plugins>
        <!-- 具體配置每個插件 -->
    </plugins>
    <!-- 5. 擴展(自定義組件) -->
    <extensions>
        <!-- 擴展Maven核心功能 -->
    </extensions>
</build>
  • 示例1
<build>
    <plugins>
        <!-- Spring Boot打包插件 -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.7.0</version>
            <configuration>
                <mainClass>com.mycompany.app.Application</mainClass>
              <!-- lombok只在編譯時起作用,已經(jīng)變成class了,不需要再打jar包依賴了 -->
                <excludes>
                    <exclude>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                    </exclude>
                </excludes>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal> <!-- 生成可執(zhí)行JAR -->
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
  • 示例2:
<!-- 在父POM中統(tǒng)一管理插件版本 -->
<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>11</source>
                    <target>11</target>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>
<!-- 在子POM中引用,不需要寫版本 -->
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <!-- 版本從父POM繼承 -->
        </plugin>
    </plugins>
</build>
  • 示例3:
<profiles>
    <profile>
        <id>production</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <configuration>
                        <skipTests>true</skipTests> <!-- 生產(chǎn)環(huán)境跳過測試 -->
                    </configuration>
                </plugin>
            </plugins>
            <resources>
                <resource>
                    <directory>src/main/resources-prod</directory>
                    <filtering>true</filtering>
                </resource>
            </resources>
        </build>
    </profile>
</profiles>

依賴管理(DependencyManagement)

: 只是一個聲明,它并不實際引入依賴。它主要用于統(tǒng)一管理子模塊或項目的依賴版本。子模塊需要顯式聲明依賴,但可以省略 version。如:

示例1:

  • 父pom
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.28</version>
        </dependency>
    </dependencies>
</dependencyManagement>
  • 子模塊 POM:
<dependencies>
    <!-- 不需要寫版本,版本由父POM統(tǒng)一管理 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
</dependencies>

示例2:

<!-- 直接使用Spring Boot定義的所有版本 -->
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.7.0</version>
            <type>pom</type>
            <scope>import</scope>  <!-- 關(guān)鍵:導(dǎo)入整個版本表 -->
        </dependency>
    </dependencies>
</dependencyManagement>
<!-- 現(xiàn)在所有Spring Boot相關(guān)的依賴都不用寫版本了 -->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <!-- 自動使用2.7.0對應(yīng)的版本 -->
    </dependency>
</dependencies>

關(guān)鍵標(biāo)簽:合并另一個POM的依賴管理。類似于繼承別人的dependencyManagement一樣。

當(dāng)父POM中配置了,子模塊繼承的是依賴的管理規(guī)則(主要是版本信息),而不是依賴本身。這帶來了幾個顯著優(yōu)勢:

  • 統(tǒng)一版本管理: 所有子模塊在引用父POM中聲明過的依賴時,只需指定groupId和artifactId,版本號會統(tǒng)一使用父POM中的定義。這能有效避免多模塊間的依賴版本沖突。
  • 版本靈活性與覆蓋: 如果某個子模塊需要特殊版本,它可以在自己的中明確聲明版本號,此時子模塊的版本號具有優(yōu)先級,會覆蓋父POM中的定義。這為特殊需求的模塊提供了靈活性。
  • 按需引入依賴: 子模塊只聲明自己真正需要的依賴,避免了父POM中所有依賴被自動繼承可能導(dǎo)致的冗余和潛在沖突。這讓每個模塊的依賴更清晰、更精簡。

Profile

Profile 允許為不同的環(huán)境(如開發(fā)、測試、生產(chǎn))定義不同的配置。它能夠覆蓋 POM 中的默認(rèn)配置。

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <db.url>jdbc:mysql://localhost:3306/dev</db.url>
        </properties>
        <activation>
            <activeByDefault>true</activeByDefault> <!-- 默認(rèn)激活 -->
        </activation>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <db.url>jdbc:mysql://prod-server:3306/prod</db.url>
        </properties>
    </profile>
</profiles>
# 用命令激活
mvn clean install -P prod

一個相對完整的POM

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                             http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <!-- 坐標(biāo) -->
    <groupId>com.example</groupId>
    <artifactId>my-webapp</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>My Web Application</name>
    <!-- 父POM -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.0</version>
    </parent>
    <!-- 屬性 -->
    <properties>
        <java.version>11</java.version>
        <junit.version>5.8.2</junit.version>
    </properties>
    <!-- 依賴管理 -->
    <dependencyManagement>
        <dependencies>
            <!-- 可以在這里管理非Spring Boot管理的依賴 -->
        </dependencies>
    </dependencyManagement>
    <!-- 依賴 -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <!-- 構(gòu)建配置 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    <!-- 多環(huán)境配置 -->
    <profiles>
        <profile>
            <id>dev</id>
            <properties>
                <activatedProperties>dev</activatedProperties>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <activatedProperties>prod</activatedProperties>
            </properties>
        </profile>
    </profiles>
</project>

到此這篇關(guān)于史上最全maven中的pom詳述的文章就介紹到這了,更多相關(guān)maven pom內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java ArrayList與Vector和LinkedList的使用及源碼分析

    Java ArrayList與Vector和LinkedList的使用及源碼分析

    ArrayList、Vector、LinkedList類均在java.util包中,均為可伸縮數(shù)組,即可以動態(tài)改變長度的數(shù)組。ArrayList 和 Vector都是基于存儲元素的Object[] array來實現(xiàn)的,它們會在內(nèi)存中開辟一塊連續(xù)的內(nèi)存來存儲
    2022-11-11
  • 一文帶你掌握J(rèn)ava中的HashSet

    一文帶你掌握J(rèn)ava中的HashSet

    HashSet?基于?HashMap?來實現(xiàn)的,是一個不允許有重復(fù)元素的集合,HashSet?不是線程安全的,?如果多個線程嘗試同時修改?HashSet,則最終結(jié)果是不確定的,本文將帶你詳細(xì)了解Java中的HashSet,,需要的朋友可以參考下
    2023-05-05
  • SpringBoot整合Nacos注冊中心的實現(xiàn)示例

    SpringBoot整合Nacos注冊中心的實現(xiàn)示例

    本文通過Nacos實現(xiàn)SpringBoot與SpringCloudGateway的配置熱更新、共享配置及動態(tài)路由,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-07-07
  • java實現(xiàn)音頻文件播放功能

    java實現(xiàn)音頻文件播放功能

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)音頻文件播放功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • java按字節(jié)截取帶有漢字的字符串的解法(推薦)

    java按字節(jié)截取帶有漢字的字符串的解法(推薦)

    下面小編就為大家?guī)硪黄猨ava按字節(jié)截取帶有漢字的字符串的解法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • SpringBoot中Package打包的實現(xiàn)小結(jié)

    SpringBoot中Package打包的實現(xiàn)小結(jié)

    本文詳細(xì)介紹了將SpringBoot項目打包成jar或war,包括jar的默認(rèn)打包、war的內(nèi)嵌tomcat排除和配置,以及部署到外部Tomcat的步驟,適合開發(fā)者理解和實踐項目部署,感興趣的可以了解一下
    2026-03-03
  • java創(chuàng)建簡易視頻播放器

    java創(chuàng)建簡易視頻播放器

    這篇文章主要為大家詳細(xì)介紹了java創(chuàng)建簡易視頻播放器的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • java版實現(xiàn)2048游戲功能

    java版實現(xiàn)2048游戲功能

    這篇文章主要為大家詳細(xì)介紹了java版實現(xiàn)2048游戲功能,相加數(shù)字出現(xiàn)2048即可,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Spring是怎么擴展解析xml接口的

    Spring是怎么擴展解析xml接口的

    這篇文章主要介紹了Spring是怎么擴展解析xml接口的,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • java面試突擊之sleep和wait有什么區(qū)別詳析

    java面試突擊之sleep和wait有什么區(qū)別詳析

    按理來說sleep和wait本身就是八竿子打不著的兩個東西,但是在實際使用中大家都喜歡拿他們來做比較,或許是因為它們都可以讓線程處于阻塞狀態(tài),這篇文章主要給大家介紹了關(guān)于java面試突擊之sleep和wait有什么區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2022-02-02

最新評論

满城县| 华阴市| 喜德县| 政和县| 郓城县| 南靖县| 莱阳市| 罗源县| 大宁县| 长武县| 宜君县| 东辽县| 嘉黎县| 宝兴县| 鹤岗市| 万全县| 万宁市| 沧州市| 临洮县| 天长市| 历史| 湄潭县| 靖江市| 鞍山市| 城固县| 合山市| 台北县| 栖霞市| 自贡市| 德惠市| 衡东县| 大英县| 达日县| 清徐县| 桐乡市| 儋州市| 西昌市| 镇坪县| 巴彦淖尔市| 雷波县| 清新县|