Maven中clean、compil等操作介绍和Pom.xml中各个标签介绍

文章目录

  • 前言
  • Maven常用命令
    • 1.clean
    • 2.vaildate
    • 3.compile
    • 4.test
    • 5.package
    • 6.verify
    • 7.install
    • 8.site
    • 9.deploy
  • pom.xml标签详解
    • 格式
    • (xml版本和编码)
    • modelVersion(xml版本)
    • groupId(项目的组名,通常是反转的域名,比如com.example)
    • artifactId(项目唯一标识符,通常是项目的名称)
    • version(项目的版本好)
    • packaging(项目打包方式,通常是jar、war、pom。默认是jar)
    • name(项目名)
    • description(项目描述)
    • licenses(许可证声明)
    • developers(开发者信息)
    • url(项目主页,提供项目网址)
    • modules(子模块信息)
    • parent(父模块信息)
    • properties(统一管理项目中常用的属性,比如版本号,路径等信息)
    • dependencies(项目依赖信息)
    • repository(指定仓库)
    • build(定义项目的构建配置,包括源代码目录、资源目录、插件等)
    • plugins(定义 Maven 插件, plugins 主要用于扩展 Maven 的功能)

前言

现在java开发使用最多的就是springboot项目,使用springboot项目最多的就是maven工具,记录一下常用的命令,以免忘记

Maven中clean、compil等操作介绍和Pom.xml中各个标签介绍_第1张图片

Maven常用命令

1.clean

删除由以前的生成的所有文件。

2.vaildate

验证项目是否正确,以及所有必要的信息是否可用。

3.compile

编译 Java 源代码。

4.test

使用合适的单元测试框架测试编译的源代码,这些测试不应该要求打包或部署代码。

5.package

将编译后的代码打包为可分发的格式,例如JAR。

6.verify

验证-对集成测试的结果进行任何检查,以确保符合质量标准

7.install

将包安装到本地存储库中,用作本地其他项目的依赖项。

8.site

生成项目的现场文档 。

9.deploy

在构建环境中完成,将最终包复制到远程存储库,以便与其他开发人员和项目共享。

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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0modelVersion>
  <groupId>com.examplegroupId>
  <artifactId>example-projartifactId>
  <version>1.0.0version>
  <name>Example Projectname>
  <description>This is an example Maven project.description>
  <url>http://www.example.com/url>
  <licenses>   
    <license>
      <name>The Apache Software License, Version 2.0name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txturl>
      <distribution>repodistribution>
    license>
  licenses>
  <developers>     
    <developer>
      <id>developer1id>
      <name>Developer Onename>
      <email>[email protected]email>
      <organization>Example Organizations Inc.organization>
      <organizationUrl>http://www.example-organizations.com/organizationUrl>
      <roles>
        <role>developerrole>
      roles>
      <timezone>-5timezone>
    developer>
  developers>
  <dependencies>  
    <dependency>
      <groupId>junitgroupId>
      <artifactId>junitartifactId>
      <version>4.12version>
      <scope>testscope>
    dependency>
    <dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-coreartifactId>
      <version>5.2.1.RELEASEversion>
    dependency>
  dependencies>
  <build>   
    <plugins>   
      <plugin>
        <artifactId>maven-compiler-pluginartifactId>
        <version>3.8.1version>
        <configuration>
          <source>1.8source>
          <target>1.8target>
        configuration>
      plugin>
      <plugin>
        <groupId>org.apache.maven.pluginsgroupId>
        <artifactId>maven-jar-pluginartifactId>
        <version>3.2.0version>
        <configuration>
          <archive>
            <manifest>
              <addClasspath>trueaddClasspath>
              <mainClass>com.example.AppmainClass>
            manifest>
          archive>
        configuration>
      plugin>
    plugins>
  build>
project>

(xml版本和编码)

modelVersion(xml版本)

groupId(项目的组名,通常是反转的域名,比如com.example)

artifactId(项目唯一标识符,通常是项目的名称)

version(项目的版本好)

packaging(项目打包方式,通常是jar、war、pom。默认是jar)

name(项目名)

description(项目描述)

licenses(许可证声明)

developers(开发者信息)

url(项目主页,提供项目网址)

modules(子模块信息)

parent(父模块信息)

properties(统一管理项目中常用的属性,比如版本号,路径等信息)

<properties>
    <project.name>demo-projectproject.name>
    <project.version>1.0.0project.version>
    <jdk.version>1.8jdk.version>
properties>

dependencies(项目依赖信息)

<dependency>
      <groupId>org.springframeworkgroupId>
      <artifactId>spring-coreartifactId>
      <version>5.2.1.RELEASEversion>
    dependency>
:指定依赖项的groupId,项目的组名
:指定依赖项的artifactId,项目的唯一标识符
:指定依赖项的版本号。
:指定依赖项在项目中的使用范围。常用的有compile、test、provided 和 runtime
	compile: 依赖库默认的 scope,表示该依赖库在编译、测试、运行时均需要使用。
	provided: 表示该依赖库只在编译和测试时需要使用,而在运行时已经被系统或者容器提供,所以不需要打包到最终的应用程序中。
	runtime: 表示该依赖库只在运行时需要使用,而在编译和测试时则不需要。
	test: 表示该依赖库只在测试时需要使用,而在编译和运行时则不需要。 比如说我们引入了 junit 包,但显然这个包我们不需要在打包时包含,只是用于测试,那么我们就可以将 junit 的 scope 设置为 test。

repository(指定仓库)

<repositories>
	<repository>
		<id>aliyun-mavenid>
		<name>aliyun-mavenname>
		<url>https://url>
	repository>
repositories>
:指定Maven仓库的ID。
:指定Maven仓库的名称。
:指定Maven仓库的URL

build(定义项目的构建配置,包括源代码目录、资源目录、插件等)

<project>
  .... 省略其他部分
  <build>
    <sourceDirectory>src/main/javasourceDirectory>
    <resources>
      <resource>
        <directory>src/main/resourcesdirectory>
      resource>
    resources>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.pluginsgroupId>
        <artifactId>maven-compiler-pluginartifactId>
        <version>3.8.1version>
        <configuration>
          <source>1.8source>
          <target>1.8target>
        configuration>
      plugin>
    plugins>
  build>
project>

plugins(定义 Maven 插件, plugins 主要用于扩展 Maven 的功能)

你可能感兴趣的:(Java学习,#,开发技能,maven,xml,java,pom.xml)