1. pom.xml
文件的基本结构
<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>
<groupId>com.example</groupId>
<artifactId>my-app</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<!-- 项目依赖 -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- 构建配置 -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
2. 常见 Maven 配置示例
2.1 项目基本信息
groupId
: 项目所属的组织或公司(如com.example
)。artifactId
: 项目的唯一标识符(如my-app
)。version
: 项目的版本号(如1.0.0
)。packaging
: 项目的打包方式(如jar
、war
)。
2.2 依赖管理
<dependencies>
<!-- Spring Boot Starter Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.5.4</version>
</dependency>
<!-- MySQL 驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
<!-- JUnit 测试框架 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
2.3 构建配置
<build>
<plugins>
<!-- Maven 编译器插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<!-- Spring Boot Maven 插件 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.4</version>
</plugin>
</plugins>
</build>
2.4 属性配置
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
2.5 依赖管理(BOM)
<dependencyManagement>
<dependencies>
<!-- Spring Cloud 依赖管理 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2020.0.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2.6 多模块项目配置
<modules>
<module>module1</module>
<module>module2</module>
</modules>
2.7 资源文件配置
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
2.8 测试配置
<build>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
</build>
3. 常用 Maven 命令
- 编译项目:
mvn compile
- 打包项目:
mvn package
- 运行测试:
mvn test
- 安装到本地仓库:
mvn install
- 清理项目:
mvn clean
- 运行 Spring Boot 项目:
mvn spring-boot:run
4. 总结
通过以上示例,您可以快速掌握 Maven 的基本配置和常见设置。pom.xml
是 Maven 项目的核心配置文件,定义了项目的基本信息、依赖、构建配置等内容。合理配置 pom.xml
可以提高项目的开发效率和管理能力。
以下是一些 Maven 配置的示例,包括 pom.xml 文件的基本结构和一些常见的 Maven 设置。
pom.xml 文件示例
xml
4.0.0
<!-- 项目的基本坐标 -->
<groupId>com.example</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<!-- 项目依赖 -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.7.11</version>
</dependency>
<!-- 其他依赖项 -->
</dependencies>
<!-- 构建配置 -->
<build>
<plugins>
<!-- 例如,Maven Compiler Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<!-- 其他插件 -->
</plugins>
</build>
<!-- 项目信息(可选) -->
<name>My App</name>
<description>A sample Maven project</description>
<url>http://www.example.com</url>
<!-- 其他配置,如仓库、属性等 -->
<!-- ... -->
Maven 设置(settings.xml)示例 通常,settings.xml 文件位于 Maven 安装目录的 conf 文件夹中,或者位于用户主目录下的 .m2 文件夹中。以下是一个简单的示例,演示了如何配置代理和镜像。
xml
example-proxy
true
http
proxy.example.com
8080
proxyuser
proxypass
www.google.com|*.example.com
<mirrors>
<mirror>
<id>central-repo</id>
<url>http://repo.example.com/maven2/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
<!-- 其他配置,如服务器、配置文件等 -->
<!-- ... -->
请注意,以上示例仅用于演示目的,并且您应该根据自己的环境和需求进行适当的修改。在配置 Maven 时,请确保您理解每个配置选项的含义和用途。 8. Example Configurations 8.1. Basic Distributed HBase Install
Here is a basic configuration example for a distributed ten node cluster: * The nodes are named example0, example1, etc., through node example9 in this example. * The HBase Master and the HDFS NameNode are running on the node example0. * RegionServers run on nodes example1-example9. * A 3-node ZooKeeper ensemble runs on example1, example2, and example3 on the default ports. * ZooKeeper data is persisted to the directory /export/zookeeper.
Below we show what the main configuration files — hbase-site.xml, regionservers, and hbase-env.sh — found in the HBase conf directory might look like.
8.1.1. hbase-site.xml
8.1.2. regionservers
In this file you list the nodes that will run RegionServers. In our case, these nodes are example1-example9.
example1
example2
example3
example4
example5
example6
example7
example8
example9
8.1.3. hbase-env.sh
The following lines in the hbase-env.sh file show how to set the JAVA_HOME environment variable (required for HBase) and set the heap to 4 GB (rather than the default value of 1 GB). If you copy and paste this example, be sure to adjust the JAVA_HOME to suit your environment.
The java implementation to use.
export JAVA_HOME=/usr/java/jdk1.8.0/
The maximum amount of heap to use. Default is left to JVM default.
export HBASE_HEAPSIZE=4G
Use rsync to copy the content of the conf directory to all nodes of the cluster.