MAVEN超详细教程

超详细的Maven教程 Maven 是apache软件基金会组织中唯一的一个自动化构建工具,专注于java平台项目的构建和依赖管理。依赖管理:就是对jar包的管理。通过导入maven坐标,就相当于将仓库中的jar包导入了当前项目中。项目构建:通过maven的一个命令就可以完成项目从清理、编译、测试、报告、打包,部署整个过程。项目的构建就是将我们开发的项目(java代码、配置文件、静态资源,jsp)作为“原材料”去生产一个可以运行的项目的过程。清理:将原来生成的编译结果删除,为重新编译做准备工作。 阅读详情

一、maven基础

1、默认的中央仓库地址

  • 在${MAVEN_HOME}\maven-model-builder-3.5.3.jar\org\apache\maven\model中的pom-4.0.0.xml文件中
<project>
	<modelVersion>4.0.0</modelVersion>
	<repositories>
		<!--指定了默认的中央仓库地址-->
		<repository>
			<id>central</id>
			<name>Central Repository</name>
			<url>https://repo.maven.apache.org/maven2</url>
			<layout>default</layout>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	</repositories>

	<pluginRepositories>
	<!--指定了默认的插件中央仓库地址-->
		<pluginRepository>
			<id>central</id>
			<name>Central Repository</name>
			<url>https://repo.maven.apache.org/maven2</url>
			<layout>default</layout>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
			<releases>
				<updatePolicy>never</updatePolicy>
			</releases>
		</pluginRepository>
	</pluginRepositories>
</project>
  • 通过在本地仓库的setting.xml文件中配置<mirror>标签,可以将maven默认的远程仓库地址映射为我们指定的地址,比如映射成阿里云的远程仓库,加快访问速度
<mirrors>
	<mirror>
		<id>nexus-aliyun</id>
		<!--mirrorOf必须要和repository_id一致,映射才会生效-->
		<mirrorOf>central</mirrorOf>
		<name>Nexus aliyun</name>
		<url>https://maven.aliyun.com/repository/public</url>
	</mirror>
</mirrors>

2、常用maven命令

  • mvn clean :删除target目录
  • mvn compile:编译main目录下的代码,生成target目录
  • mvn test:编译test目录下的文件,在target目录下,生成test-classes文件
  • mvn package:将当前的项目打成jar包
  • mvn install:将当前项目上传到本地仓库
  • mvn deploy:将本地仓库的项目部署到指定服务器
  • 重要:mvn命令是和maven插件绑定的,maven命令是通过插件来执行的

3、maven依赖管理

  • 依赖传递

    • 依赖具有传递性
    • 直接依赖
    • 间接依赖:A依赖B,B依赖C,则A间接依赖C
  • 依赖传递冲突问题

    • 路径优先:当依赖中出现相同的资源时,依赖的层级越深,优先级越低;层级越浅,优先级越高
    • 声明优先:当资源在相同层级被依赖时,配置顺序越靠前,优先级越高
    • 特殊优先:当同级配置了相同资源的不同版本,后配置的覆盖先配置的
  • 可选依赖(不透明)

    • 对外隐藏当前项目所依赖的资源
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <!--optional为true时,当A项目依赖了此项目,就无法看到此项目依赖了junit-->
        <optional>true</optional>
    </dependency>
    
  • 排除依赖(不需要)

    • 主动排除依赖的资源
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <!--optional为true时,当A项目依赖了此项目,就无法看到此项目依赖了junit-->
        <optional>true</optional>
        <exclusions>
            <eclusion>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
            </eclusion>
        </exclusions>
    </dependency>
    
  • 依赖范围

    • 依赖的jar默认情况下可以在任何地方使用,可以通过scope标签指定作用范围
    • 作用范围
      • 主程序范围内有效(main文件范围内)
      • 测试程序范围有效(test文件范围内)
      • 是否参与打包(package指令范围内有效)
    scope主代码测试代码打包范例
    compile(默认)YYYlog4j
    testYjunit
    providedYYservlet-api
    runtimeYjdbc

4、声明周期与插件

maven对项目构建的声明周期分为3部分

  • clean:清理工作
    • pre-clean
    • clean
    • post-clean
  • default:核心工作,编译、测试编译、测试、打包、部署等
  • site:产生报告,发布站点等
    • pre-site
    • site
    • post-site
    • site-deploy

插件

  • 插件与生命周期内的阶段绑定,在执行到对应生命周期时执行对应的插件功能
  • 默认maven在各个声明周期上绑定有预设的功能
  • 通过插件可以自定义其他功能(可以参考maven官方插件)
    • maven-source-plugin:从当前项目构建一个jar包
<!---maven主要的功能是依赖管理和项目构建-->
<!--dependency标签是依赖管理,build标签是项目构建-->
<!--项目构建-->
<build>
        <plugins>
            <!--把源码打成jar包的插件-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.2.1</version>
                <executions>
                    <execution>
                        <!--执行阶段,testCompile后执行-->
                        <phase>test-compile</phase>
                        <!--执行操作-->
                        <goals>
                            <!--test文件下的源码打成jar包-->
                            <goal>test-jar</goal>
                            <!--main文件下的源码打成jar包-->
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            
        </plugins>
</build>
  • maven-shade-plugin:从当前项目构建一个jar包,包含依赖项(生成的jar包,可以通过java -jar命令运行)

    <plugin>
    	<groupId>org.apache.maven.plugins</groupId>
    	<artifactId>maven-shade-plugin</artifactId>
    	<version>3.2.1</version>
    	<executions>
    		<execution>
    			<phase>package</phase>
    			<goals>
    				<goal>shade</goal>
    			</goals>
    			<configuration>
    				<transformers>
    					<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
    						<mainClass>HelloWorld</mainClass>
    					</transformer>
    				</transformers>
    			</configuration>
    		</execution>
    	</executions>
    </plugin>
    

二、maven高级

1、分模块开发与设计

  • 将ssm的每一层拆成一个模块
    • ssm_entity
    • ssm_dao
    • ssm_service
    • ssm_controller

2、聚合

  • 作用:聚合用于快速构建maven项目,一次性构建多个项目/模块

  • 制作方式:

    • 创建一个空模块,打包类型定义为pom
    <packaging>pom</packaging>
    
    • 定义当前模块进行构建操作时关联的其他模块名称
    <modules>
        <module>../ssm_entity</module>
        <module>../ssm_dao</module>
        <module>../ssm_service</module>
        <module>../ssm_controller</module>
    </modules>
    
  • 注意事项:参与聚合操作的模块最终执行顺序与模块间的依赖有关,与配置顺序无关

3、继承

image-20220714155036910

  • 多模块之间jar包依赖冲突,由父项目统一管理依赖

  • 作用:通过继承,可以实现在子工程中沿用父工程的配置

  • maven中的继承与java类似,在子工程中配置继承关系

  • 制作方式

    • 在子工程中的pom.xml文件中,声明其父工程坐标与对应的位置
    <parent>
        <groupId>org.example</groupId>
        <artifactId>ssm</artifactId>
        <version>1.0-SNAPSHOT</version>
        <!--父工程pom文件的相对位置-->
        <relativePath>../ssm/pom.xml</relativePath>
    </parent>
    
    • 在父工程中的pom.xml文件中,配置depenencyManagement和pluginManagement
    <packaging>pom</packaging>
    <dependencyManagement>
        <dependencies>
           <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>5.2.13.RELEASE</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    <build>
    	<pluginManagement>
    		<plugins>
    			<plugin>
    				<groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                </plugin>
             </plugins>
        </pluginManagement>
    </build>
    
    • 在子工程中定义依赖关系,无序声明依赖版本,版本参照父工程中依赖的版本
    <dependencyManagement>
    	<dependency>
    		<groupId>org.springframework</groupId>
    		<artifactId>spring-context</artifactId>
    	</dependency>
    </dependencyManagement>
    
    <build>
    	<plugins>
    		<plugin>
    			<groupId>org.apache.tomcat.maven</groupId>
    			<artifactId>tomcat7-maven-plugin</artifactId>
    		</plugin>
    	</plugins>
    </build>
    
  • 继承的好处:可以统一配置管理多个模块的依赖版本,防止依赖版本冲突,同时可以减少工作量

4、聚合与继承比较

  • 作用
    • 聚合:用于快速构建项目
    • 继承:用于快速配置
  • 相同点
    • 聚合与继承的pom.xml文件的打包方式均为pom,两种关系可以并存
    • 聚合与继承均属于设计型模块,没有实际的模块内容
  • 不同点
    • 聚合是在当前模块中配置关系,聚合可以感知到参与聚合的模块有哪些
    • 继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己

5、属性

  • 自定义属性:等同于自定义变量,版本统一的重要性
  <!--定义自定义属性-->
  <properties>
  	<spring.version>5.2.13.RELEASE</spring.version>
  </properties>
  
  <dependencies>
  	<dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-context</artifactId>
          <!--使用自定义属性-->
  		<version>${spring.version}</version>
  	</dependency>
  	<dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-core</artifactId>
          <!--使用自定义属性-->
  		<version>${spring.version}</version>
  	</dependency>
  </dependencies>
  • 内置属性:使用maven内置属性,快速配置
    ${basedir}
    <!--pom文件中,本项目的version-->
    ${version}
  • Setting属性:使用maven配置文件setting.xml中的标签属性,属于动态配置
<!--setting.xml中配置的本地仓库-->
${settings.localRepository}
  • Java系统属性:读取java系统属性
<!--当前用户的家目录-->
${user.home}
  • 环境变量属性
<!--env+环境变量名-->
${env.JAVA_HOME}

系统属性和环境变量查询方式: mvn help:system

6、版本管理

  • 工程版本

    • SNAPSHOT(快照版本、临时版本)
    • RELEASE(发布版本、稳定版本)
  • 工程版本号约定

    • <主版本>.<次版本>.<增量版本>.<里程碑版本>

    • 主版本:表示项目重大架构的变更,如:spring5相对spring4 的迭代

    • 次版本:表示有较大的功能增加和变化,或者全面系统的修复漏洞

    • 增量版本:表示有重大漏洞的修复

    • 里程碑版本:表明一个版本的里程碑

7、多环境配置

配置多个环境:开发环境、生产环境

  • 配置pom.xml文件,指定多个环境
 <profiles>
    <!--正式环境-->
	<profile>
		<id>prod</id>
		<dependencies>
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>8.0.28</version>
			</dependency>
		</dependencies>
        <!--将正式环境指定为默认环境-->
		<activation>
			<activeByDefault>true</activeByDefault>
		</activation>
	</profile>
     <!--开发环境-->
	<profile>
		<id>dev</id>
		<dependencies>
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>5.1.41</version>
			</dependency>
		</dependencies>
	</profile>
</profiles>
  • 使用maven命令构建项目时指定使用哪个环境,不指定的话,会使用activeByDefault为true的环境
// -P指定使用的profile_id
mvn install -P dev

image-20220714194130448

8、跳过测试

  • 通过maven命令跳过测试
mvn package -D skipTests
  • 在IDEA中设置跳过测试

image-20220714195900311

  • 在pom文件中配置
<build>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-surefire-plugin</artifactId>
			<version>2.12.4</version>
			<configuration>
				<skipTests>true</skipTests>
			</configuration>
		</plugin>
	</plugins>
</build>

三、搭建私服

1、Nexus安装、启动与配置

nexus /run nexus
  • 访问服务器(默认端口是8081)
localhost:8081
  • 修改基础配置信息:安装路径下etc目录中nexus-default.properties文件中保存有nexus基础配置信息,例如访问端口
  ## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties
  ##
  # Jetty section
  application-port=8081
  application-host=0.0.0.0
  nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
  nexus-context-path=/
  
  # Nexus section
  nexus-edition=nexus-pro-edition
  nexus-features=\
  nexus-pro-feature
  
  nexus.hazelcast.discovery.isEnabled=true
  • 修改服务器运行信息:安装路径下bin目录中nexus.vmoptions文件保存有nexus服务器启动对应的配置信息,例如默认占用内存空间
  -Xms2703m
  -Xmx2703m
  -XX:MaxDirectMemorySize=2703m
  -XX:+UnlockDiagnosticVMOptions
  -XX:+LogVMOutput
  -XX:LogFile=../sonatype-work/nexus3/log/jvm.log
  -XX:-OmitStackTraceInFastThrow
  -Djava.net.preferIPv4Stack=true
  -Dkaraf.home=.
  -Dkaraf.base=.
  -Dkaraf.etc=etc/karaf
  -Djava.util.logging.config.file=etc/karaf/java.util.logging.properties
  -Dkaraf.data=../sonatype-work/nexus3
  -Dkaraf.log=../sonatype-work/nexus3/log
  -Djava.io.tmpdir=../sonatype-work/nexus3/tmp
  -Dkaraf.startLocalConsole=false
  #
  # additional vmoptions needed for Java9+
  #
  # --add-reads=java.xml=java.logging
  # --add-exports=java.base/org.apache.karaf.specs.locator=java.xml,ALL-UNNAMED
  # --patch-module=java.base=lib/endorsed/org.apache.karaf.specs.locator-4.2.6.jar
  # --patch-module=java.xml=lib/endorsed/org.apache.karaf.specs.java.xml-4.2.6.jar
  # --add-opens=java.base/java.security=ALL-UNNAMED
  # --add-opens=java.base/java.net=ALL-UNNAMED
  # --add-opens=java.base/java.lang=ALL-UNNAMED
  # --add-opens=java.base/java.util=ALL-UNNAMED
  # --add-opens=java.naming/javax.naming.spi=ALL-UNNAMED
  # --add-opens=java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED
  # --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED
  # --add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED
  # --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED
  # --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED
  # --add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED
  #
  # comment out this vmoption when using Java9+
  #
  -Djava.endorsed.dirs=lib/endorsed

2、仓库分类与手动上传组件

image-20220714205113930

  • 仓库分类

    • 宿主仓库(hosted)
      • 保存无法从中央仓库获取的资源
        • 自主研发项目
        • 第三方未开源项目
    • 代理仓库(proxy)
      • 代理远程仓库,通过nexus访问其他公共仓库,例如远程仓库
    • 仓库组(group)
      • 将若干个仓库组成一个群组,简化配置
      • 仓库组不能保存资源,与设计型仓库
  • 在私服上创建仓库

    • 宿主仓库:release和snapshot仓库
    • 代理仓库:阿里云maven远程仓库
      image-20220715092707275

3、本地仓库访问私服

  • 配置本地仓库访问私服的权限(setting.xml)
<!--这里是使用用户名/密码访问,也可以使用公钥密钥访问-->
<servers>
	<!--私服的release仓库-->
	<server>
		<id>liyingxi-release</id>
		<username>admin</username>
		<password>admin</password>
	</server>
	<!--私服的snapshots地址-->
	<server>
		<id>liyingxi-snapshot</id>
		<username>admin</username>
		<password>admin</password>
	</server>
</servers>
  • 配置本地仓库来源(setting.xml)
<mirrors>
    <!--访问中央仓库时,使用阿里云的镜像-->
	<mirror>
		<id>nexus-aliyun</id>
		<mirrorOf>central</mirrorOf>
		<name>Nexus aliyun</name>
		<url>https://maven.aliyun.com/repository/public</url>
	</mirror>
    <!--访问其他仓库时,使用私服的仓库组-->
	<mirror>
		<id>nexus-liyingxi</id>
		<mirrorOf>central</mirrorOf>
		<name>Nexus liyingxi</name>
		<url>https://localhost:8081/repository/maven-public</url>
	</mirror>
</mirrors>

4、IDEA访问私服与组件上传

  • 在pom.xml中配置项目发布管理
 <!--项目发布配置管理-->
    <distributionManagement>
        <repository>
            <!--id需要与setting.xml中的server_id一致-->
            <id>liyingxi-release</id>
            <url>http://localhost:8081/repository/liyingxi-release/</url>
        </repository>
        <snapshotRepository>
            <!--id需要与setting.xml中的server_id一致-->
            <id>liyingxi-snapshot</id>
            <url>http://localhost:8081/repository/liyingxi-snapshot/</url>
        </snapshotRepository>
    </distributionManagement>
  • 配置好之后,在IDEA中,执行deploy声明周期,部署到私服

image-20220715093615073
image-20220715093701959

Maven超详细讲解——基础篇 maven基础篇主要涉及maven的基本概念,安装下载以及应用实例,并对依赖管理,生命周期与插件做详细讲解 阅读详情

相关推荐

【超详细】Maven安装教程&Eclipse中集成Maven(附下载)

简介 Maven可以方便地管理项目,有了maven,我们不再需要手动导入jar包,关心jar在哪里和从哪里找的问题,而是告诉Maven我们需要什么jar,maven会立刻给我们从它专门存储jar的仓库中找到我们需要的 jar 。 软件 Apache Maven官网上最新下载版本为Apache Maven 3.5.0 本博客中提供的版本为Apache Maven

qq_32106647的博客 2556

Maven 详细教程(万字长文)

诞生: Maven的创始人是,诞生时间大概在年3月。Maven起源于Jakarta Alexandria项目,在2002年10月份左右Maven迁移到Turbine项目中继续发展。简介: Maven 是一款的项目管理和整合工具,它将项目的开发和管理过程抽象成一个。开发人员只需要做一些简单的配置,Maven 就可以自动完成项目的编译、测试、打包、发布以及部署等工作。底层: ,这意味着无论是在 Windows ,还是在 Linux 或者 Mac OS 上,都可以使用相同的命令进行操作。

怪咖@的博客 1万+

Eclipse下如何使用Maven——超详细教程

1.更改工作区jdk设置,目录必须为jdk目录,不能是jre目录 Window-&amp;amp;amp;gt;Preferences-&amp;amp;amp;gt;Java-&amp;amp;amp;gt;Installed JREs-&amp;amp;amp;gt;选中原有的jre-&amp;amp;amp;gt;edit-&amp;amp;amp;gt;更改为jdk目录 2.最新版的Eclipse中集成了Maven,所以打开Window-&

CheneyKKE的博客 992

超级详细的 Maven 教程(基础+高级)

Maven 是 Apache 软件基金会组织维护的一款专门为 Java 项目提供构建和依赖管理支持的工具。一个 Maven 工程有约定的目录结构,约定的目录结构对于 Maven 实现自动化构建而言是必不可少的一环,就拿自动编译来说,Maven 必须 能找到 Java 源文件,下一步才能编译,而编译之后也必须有一个准确的位置保持编译得到的字节码文件。 我们在开发中如果需要让第三方工具或框架知道我们自己创建的资源在哪,那么基本上就是两种方式:Java 项目开发过程中,构建指的是使用『原材料生产产品』的过程。构建

个人站点:javatv.net 7万+

使用IDEA开发Spark Maven应用程序【超详细教程】

本文详细介绍了如何创建一个基于Maven的Scala项目,并配置Spark环境。首先,创建Maven项目并修改pom.xml文件,添加必要的依赖项,如Scala库和Spark相关模块。接着,构建项目结构,设置Scala SDK,并创建Scala类文件。文中还提供了一个简单的WordCount程序示例,展示了如何使用Spark进行文本处理。此外,文章还介绍了如何通过配置log4j.properties文件来减少日志输出,并解决了运行过程中可能遇到的winutils.exe缺失问题。

Five的博客 2017

ZYNQ Linux 应用层 利用 AXI DMA 进行数据传输

ZYNQ Linux应用层 利用 AXI DMA 进行数据传输 软件版本: VIVADO2018.2 操作系统: Debian 9 硬件平台: ZYNQ-MZ7100FA 嵌入式操作系统:Debian(4.19.0-xilinx) AXI-DMA驱动:GitHub:bperez77/xilinx_axidma 一、搭建硬件环境 参见:《ZYNQ 修炼秘籍裸机篇 2019 版》第21章:CH21 利用 AXI DMA 进行批量数据环路测试 参考文章: ZYNQ跑系统 系列(四) AXI-DMA的linux下运

jin787730090的博客 1万+

全网最详细的 Maven 教程!

前言:目前所有的项目都在使用maven,可是一直没有时间去整理学习,这两天正好有时间,好好的整理一下。一、为什么使用Maven这样的构建工具【why】① 一个项目就是一个工程如果项目非常庞...

weixin_45727359的博客 2041

安卓设备安全相关技术

当前安卓设备使用的加密方案是基于Soc中一块可写入的rom实现,称为熔丝,其结果不可逆。 1、secureboot 2、AVB(Android Verify Boot) 3、dm-verity(device mapper) 4、keymaster 5、crypto 6、rpmb(replay private memory block) 7、TEE(Trust execute environment) 8、SELinux .........

weixin_43797328的博客 4838

IDEA配置Maven的超详细步骤教程

IDEA配置Maven的超详细步骤教程 去发现同类优质开源项目:https://gitcode.com/ 简介 Maven 是一个强大的项目管理工具,它能够帮助 Java 开发者节省时间和精力,使开发过程更加规范化和高效。本资源文件提供了一份详细的教程,指导如何在 IntelliJ IDEA 中配置 Maven,以便更好地管理和构建你的 Java 项目。 内容概述 本教程通过图文并茂的方式,详细介...

gitblog_09788的博客 398

JSAPI微信支付(小程序)V3版本JAVA代码实战源码

1.1、商户通过JSAPI/小程序下单接口获取到发起支付的必要参数prepay_id后,再通过微信小程序调起微信支付收银台JSAPI/小程序下单_JSAPI支付|微信支付商户文档中心1.3、微信H5发起类似,结合文档,细微调整,前端返回类似,参考文档修改为微信内置浏览器调起支付即可。

java web 707

Hierarchical Flow Partition(Top-down&&Bottom-up)

hierarchy flow是将设计切分成多个block,分别处理单个block,然后完成后,将它们进行拼接以完成最终的chip。一般划分为三个阶段:chip planning;physical budget就是pin assignmenthierarchy flow实现的方法有两种,一种是top-down,另一种是bottom-up,无论是哪种,都是都要通过flatten的方法分别全局范围进行优化实现。

qq_39493558的博客 3072

Linux安装maven(超详细教程)

Linux安装maven(超详细教程)_傲雪虫哥的博客-优快云博客_linux安装maven

m0_63163813的博客 283

Unity游戏开发客户端面经——数据结构(初级)

Unity游戏开发客户端面经 之 数据结构篇

Sea3752的博客 1万+

maven的下载与安装教程(超详细)

前言 本篇文章是基于win10系统下载安装Maven的教程。 一、 Maven介绍 1. 什么是Maven ​ Maven是一个跨平台的项目管理工具。作为Apache组织的一个颇为成功的开源项目,其主要服务于基于Java平台的项目创建,依赖管理和项目信息管理。maven是Apache的顶级项目,解释为“专家,内行”,它是一个项目管理的工具,maven自身是纯java开发的,可以使用maven对java项目进行构建、依赖管理。 2. Maven的作用 依赖管理 依赖指的就是是 我们项目中需要使用的第三方

Java修炼记 51万+

告别迷茫!手把手教你用ArcGIS+GTB搞定生态源地MSPA分析(附避坑指南)

本文详细介绍了如何使用ArcGIS和GTB进行生态源地MSPA分析的全流程,包括软件安装、数据预处理、参数设置、结果可视化和常见问题排查。特别针对ArcGIS和GTB组合使用时的常见问题提供了避坑指南,帮助研究者高效完成生态规划任务。

weixin_30756499的博客 435

从 Claude Code 到 SAP ADT,vibing-steampunk 把 ABAP 开发带进 Agentic 工程现场

vibing-steampunk(vsp)是一个连接SAP ADT API与AI编码代理的桥梁工具,通过MCP协议实现ABAP开发的自动化。它绕开传统GUI脚本方式,直接利用ADT REST API进行代码读写、调试和部署。该工具提供包分析、边界检查、LUW分析等功能,并创新性地采用Hyperfocused模式和方法级编辑来优化token使用效率。通过上下文压缩技术,vsp能智能提取关键代码片段,显著提升AI处理ABAP代码的精准度,为SAP系统现代化改造提供了高效的技术路径。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 190

maven安装教程(超详细图解)

6.控制台输入mvn -v(注意中间有个空格) 看到如下界面,说明maven安装成功。将maven解压后的文件夹复制到D盘根目录(必须的D盘根目录)变量值:D:\maven\apache-maven-3.8.1。点击【新建】,输入%MAVEN_HOME%\bin。右键点击桌面【此电脑】,选择【属性】。鼠标划到最底部,选择【高级系统设置】。3.添加MAVEN_HOME变量。找到Path变量,点击【编辑】。变量名:MAVEN_HOME。至此,maven配置完毕!新建变量后,点击【确定】点击【环境变量】按钮。

小熊的博客 1万+

【同等学力】2005-数学⭐✨

有r个正方形排成一行,今用红、黄、白、蓝四种颜色给这个r个正方形染色,每个正方形只能染一种颜色,如果要求染红、黄、白色的正方形分别至少出现一个,问有多少种不同的染法?3、(4分)设G是一个有n个结点m条边的连通简单平面图,若n≥3,则m≤3n-6.4、(4分)证明:任何连通简单平面图至少有一个结点的度数不超过5

super_mochi1 306

Maven框架安装与配置——超详细教程

1.下载Maven框架 下载地址:http://maven.apache.org/download.cgi 下载完成后解压到Java所在目录下,e.g. C:\Program Files (x86)\Java 2.配置环境变量,验证测试 1)新增环境变量 e.g. 变量名:MAVEN_HOME,变量值:C:\Program Files (x86)\Java\apache-maven-3.6.0...

CheneyKKE的博客 863

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Maven下载安装及IDEA配置Maven的超详细教程

Maven下载安装及IDEA配置Maven的超详细教程,包含: (1) IDEA下载、安装、配置; (2) maven的下载、安装、配置; (3)IDEA配置maven过程; (4) IDEA+maven工程创建示例

weixin_44462773的博客 1万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

超详细的Maven使用教程

超详细的Maven使用教程 一、什么是Maven 你还在为找一个合适的版本的jar包而发愁吗?你还在为导入项目依赖的各种包而烦恼吗?你还在为更新项目时修改相关jar包版本而心累吗?快来一起使用Maven! 如今我们构建一个项目需要用到很多第三方的类库,如写一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌,并且Jar包之间的关系错综复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项目编译失败。 而Maven就是一款强大的jar包管理

weixin_50800069的博客 3454

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

【Maven】Maven 下载安装教程(超详细)

Maven 的下载安装教程,包含环境配置

2301_76357803的博客 8万+

Maven教程超详细

Maven教程超详细

小钟不想敲代码 1482

超详细Maven教程

Maven Maven是一个项目资源管理工具 Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶(phase)中插件(plugin)目标(goal)的逻辑 Maven优点: 简化项目依赖jar包管理,防止冲突 便于项目升级,项目依赖jar包升级 有助于项目开发,一个模块开发好后,发布

清茶淡粥的博客 1672

Maven 下载与安装教程(超详细)

Maven 下载与安装教程(超详细) 去发现同类优质开源项目:https://gitcode.com/ 简介 本资源文件提供了关于Maven的详细下载与安装教程。Maven是一个项目管理工具,主要用于Java项目的构建、依赖管理和项目信息管理。通过本教程,您将能够轻松地下载并安装Maven,并配置其环境变量和本地仓库。 内容概述 Maven介绍 什么是Maven Maven的作用 Ma...

gitblog_06566的博客 422
上一篇: MAVEN setting.xml配置文件详解
下一篇: Hive访问元数据的两种方式
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值