Maven的命令行操作

Maven(四)常用命令大全 阅读详情

Maven的命令行操作

根据坐标创建Maven工程

学习命令行操作作为将来在IDEA中使用图形化界面操作的过渡。使用命令行可以不受IDEA这样的环境的干扰,这样就有一个纯净的测试Maven功能的环境。我们的目标是通过命令学习Maven的功能和用法。

实验一:根据坐标创建Maven工程

1、Maven核心概念:坐标

①数学中的坐标

在这里插入图片描述

使用x、y、z三个“向量”作为空间的坐标系,可以在空间中唯一的定位到一个点。

②Maven中的坐标

[1]向量说明

使用三个向量在Maven的仓库中唯一的定位到一个jar包。

  • groupId:公司或组织的id
  • artifactId:一个项目或者是项目中的一个模块的id
  • version:版本号
[2]三个向量的取值方式
  • groupId:公司或组织域名的倒序,通常也会加上项目名称
    • 例如:com.atguigu.maven
  • artifactId:模块的名称,将来作为Maven工程的工程名
  • version:模块的版本号,根据自己的需要设定
    • 例如:SNAPSHOT表示快照版本,正在迭代过程中,不稳定的版本
    • 例如:RELEASE表示正式版本

举例:

  • groupId:com.atguigu.maven
  • artifactId:pro01-atguigu-maven
  • version:1.0-SNAPSHOT

③坐标和仓库中jar包的存储路径之间的对应关系

坐标:

  <groupId>javax.servlet</groupId>
  <artifactId>servlet-api</artifactId>
  <version>2.5</version>

上面坐标对应的jar包在Maven本地仓库中的位置:

Maven本地仓库根目录\javax\servlet\servlet-api\2.5\servlet-api-2.5.jar

一定要学会根据坐标到本地仓库中找到对应的jar包。

2、实验操作

①创建目录作为后面操作的工作空间

例如:D:\maven-workspace\space210323

②在工作空间目录下打开命令行窗口

在这里插入图片描述

③使用命令生成Maven工程

运行mvn archetype:generate命令

下面根据提示操作

Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 7:【直接回车,使用默认值】
Define value for property ‘groupId’: com.atguigu.maven
Define value for property ‘artifactId’: pro01-maven-java
Define value for property ‘version’ 1.0-SNAPSHOT: :【直接回车,使用默认值】
Define value for property ‘package’ com.atguigu.maven: :【直接回车,使用默认值】
Confirm properties configuration:
groupId: com.atguigu.maven
artifactId: pro01-maven-java
version: 1.0-SNAPSHOT
package: com.atguigu.maven
aven
Y: :【直接回车,表示确认】

在这里插入图片描述

④调整

Maven默认生成的工程,对junit依赖的是较低的3.8.1版本,我们可以改成4.12版本。

自动生成的App.java和AppTest.java可以删除。

<!-- 依赖信息配置 -->
<!-- dependencies复数标签:里面包含dependency单数标签 -->
<dependencies>
  <!-- dependency单数标签:配置一个具体的依赖 -->
  <dependency>
    <!-- 通过坐标来依赖其他jar包 -->
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    
    <!-- 依赖的范围 -->
    <scope>test</scope>
  </dependency>
</dependencies>

3、Maven核心概念:POM

①含义

POM:Project Object Model,项目对象模型。和POM类似的是:DOM:Document Object Model,文档对象模型。

②思想

POM表示将工程抽象为一个模型,再用程序中的对象来描述这个模型。这样我们就可以用程序来管理项目了。我们在开发过程中,最基本的做法就是将现实生活中的事物抽象为模型,然后封装模型相关的数据作为一个对象,这样就可以在程序中计算与现实事物相关的数据。

③对应的配置文件

POM理念集中体现在Maven工程根目录下pom.xml这个配置文件中。所以这个pom.xml配置文件就是Maven工程的核心配置文件。其实学习Maven就是学这个文件怎么配置,各个配置有什么用。

4、Maven核心概念:约定的目录结构

①各个目录的作用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZWkCuLV2-1648114579374)(image/img011.png “”)]

另外还有一个target目录专门存放构建操作输出的结果。

②约定目录结构的意义

Maven为了让构建过程能够尽可能自动化完成,所以必须约定目录结构的作用。例如:Maven执行编译操作,必须先去Java源程序目录读取Java源代码,然后执行编译,最后把编译结果存放在target目录。

③约定大于配置

Maven对于目录结构这个问题,没有采用配置的方式,而是基于约定。这样会让我们在开发过程中非常方便。如果每次创建Maven工程后,还需要针对各个目录的位置进行详细的配置,那肯定非常麻烦。

目前开发领域的技术发展趋势就是:约定大于配置,配置大于编码。

实验二:在Maven工程中编写代码

1、主体程序

①自动生成的pom.xml解读

  <!-- 当前Maven工程的坐标 -->
  <groupId>com.atguigu.maven</groupId>
  <artifactId>pro01-maven-java</artifactId>
  <version>1.0-SNAPSHOT</version>
  
  <!-- 当前Maven工程的打包方式,可选值有下面三种: -->
  <!-- jar:表示这个工程是一个Java工程  -->
  <!-- war:表示这个工程是一个Web工程 -->
  <!-- pom:表示这个工程是“管理其他工程”的工程 -->
  <packaging>jar</packaging>

  <name>pro01-maven-java</name>
  <url>http://maven.apache.org</url>

  <properties>
  <!-- 工程构建过程中读取源码时使用的字符集 -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <!-- 当前工程所依赖的jar包 -->
  <dependencies>
  <!-- 使用dependency配置一个具体的依赖 -->
    <dependency>
  
    <!-- 在dependency标签内使用具体的坐标依赖我们需要的一个jar包 -->
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
    
    <!-- scope标签配置依赖的范围 -->
      <scope>test</scope>
    </dependency>
  </dependencies>

②编写主体程序

主体程序指的是被测试的程序,同时也是将来在项目中真正要使用的程序。

直接从网页或其他地方复制的代码 有可能会隐藏一些空白字符,而导致编译失败,所以如果编译失败就处理一下这些空白字符

package com.atguigu.maven;
  
public class Calculator {
  
  public int sum(int i, int j){
    return i + j;
  }
  
}

2、测试程序

package com.atguigu.maven;
  
import org.junit.Test;
import com.atguigu.maven.Calculator;
  
// 静态导入的效果是将Assert类中的静态资源导入当前类
// 这样一来,在当前类中就可以直接使用Assert类中的静态资源,不需要写类名
import static org.junit.Assert.*;
  
public class CalculatorTest{
  
  @Test
  public void testSum(){
    
    // 1.创建Calculator对象
    Calculator calculator = new Calculator();
    
    // 2.调用Calculator对象的方法,获取到程序运行实际的结果
    int actualResult = calculator.sum(5, 3);
    
    // 3.声明一个变量,表示程序运行期待的结果
    int expectedResult = 8;
    
    // 4.使用断言来判断实际结果和期待结果是否一致
    // 如果一致:测试通过,不会抛出异常
    // 如果不一致:抛出异常,测试失败
    assertEquals(expectedResult, actualResult);
    
  }
  
}

实验三:执行Maven的构建命令

1、要求

运行Maven中和构建操作相关的命令时,必须进入到pom.xml所在的目录。如果没有在pom.xml所在的目录运行Maven的构建命令,那么会看到下面的错误信息:

The goal you specified requires a project to execute but there is no POM in this directory

mvn -v命令和构建操作无关,只要正确配置了PATH,在任何目录下执行都可以。

2、清理操作

mvn clean

效果:删除target目录

3、编译操作

主程序编译:mvn compile

测试程序编译:mvn test-compile

主体程序编译结果存放的目录:target/classes

测试程序编译结果存放的目录:target/test-classes

4、测试操作

mvn test

测试的报告会存放在target/surefire-reports目录下

5、打包操作

mvn package

打包的结果会存放在target目录下

6、安装操作

mvn install

[INFO] Installing D:\maven-workspace\space201026\pro01-maven-java\target\pro01-maven-java-1.0-SNAPSHOT.jar to D:\maven-rep1026\com\atguigu\maven\pro01-maven-java\1.0-SNAPSHOT\pro01-maven-java-1.0-SNAPSHOT.jar
[INFO] Installing D:\maven-workspace\space201026\pro01-maven-java\pom.xml to D:\maven-rep1026\com\atguigu\maven\pro01-maven-java\1.0-SNAPSHOT\pro01-maven-java-1.0-SNAPSHOT.pom

安装的效果是将本地构建过程中生成的jar包存入Maven本地仓库。这个jar包在Maven仓库中的路径是根据它的坐标生成的。

坐标信息如下:

  <groupId>com.atguigu.maven</groupId>
  <artifactId>pro01-maven-java</artifactId>
  <version>1.0-SNAPSHOT</version>

在Maven仓库中生成的路径如下:

D:\maven-rep1026\com\atguigu\maven\pro01-maven-java\1.0-SNAPSHOT\pro01-maven-java-1.0-SNAPSHOT.jar

另外,安装操作还会将pom.xml文件转换为XXX.pom文件一起存入本地仓库。所以我们在Maven的本地仓库中想看一个jar包原始的pom.xml文件时,查看对应XXX.pom文件即可,它们是名字发生了改变,本质上是同一个文件。

实验四:创建Maven版的Web工程

1、说明

使用mvn archetype:generate命令生成Web工程时,需要使用一个专门的archetype。这个专门生成Web工程骨架的archetype可以参照官网看到它的用法:
在这里插入图片描述

参数archetypeGroupId、archetypeArtifactId、archetypeVersion用来指定现在使用的maven-archetype-webapp的坐标。

2、操作

注意:如果在上一个工程的目录下执行mvn archetype:generate命令,那么Maven会报错:不能在一个非pom的工程下再创建其他工程。所以不要再刚才创建的工程里再创建新的工程,请回到工作空间根目录来操作。

然后运行生成工程的命令:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=1.4

下面的操作按照提示执行:

Define value for property ‘groupId’: com.atguigu.maven
Define value for property ‘artifactId’: pro02-maven-web
Define value for property ‘version’ 1.0-SNAPSHOT: :【直接回车,使用默认值】
Define value for property ‘package’ com.atguigu.maven: :【直接回车,使用默认值】
Confirm properties configuration:
groupId: com.atguigu.maven
artifactId: pro02-maven-web
version: 1.0-SNAPSHOT
package: com.atguigu.maven
Y: :【直接回车,表示确认】

3、生成的pom.xml

确认打包的方式是war包形式

<packaging>war</packaging>

4、生成的Web工程的目录结构

在这里插入图片描述

webapp目录下有index.jsp

WEB-INF目录下有web.xml

5、创建Servlet

①在main目录下创建java目录

在这里插入图片描述

②在java目录下创建Servlet类所在的包的目录

在这里插入图片描述

③在包下创建Servlet类

package com.atguigu.maven;
  
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
  
public class HelloServlet extends HttpServlet{
  
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    response.getWriter().write("hello maven web");
    
  }
  
}

④在web.xml中注册Servlet

  <servlet>
  <servlet-name>helloServlet</servlet-name>
  <servlet-class>com.atguigu.maven.HelloServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>helloServlet</servlet-name>
  <url-pattern>/helloServlet</url-pattern>
  </servlet-mapping>

6、在index.jsp页面编写超链接

<html>
<body>
<h2>Hello World!</h2>
<a href="helloServlet">Access Servlet</a>
</body>
</html>

JSP全称是Java Server Page,和Thymeleaf一样,是服务器端页面渲染技术。这里我们不必关心JSP语法细节,编写一个简单的超链接HTML标签即可。

7、编译

执行mvn compile命令出错:

程序包javax.servlet.http不存在
程序包javax.servlet不存在
找不到符号
符号: 类 HttpServlet
……

上面的错误信息说明:我们的Web工程用到了HttpServlet这个类,而HttpServlet这个类属于servlet-api.jar这个jar包。此时我们说,Web工程需要依赖servlet-api.jar包。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

8、配置对servlet-api.jar包的依赖

对于不知道详细信息的依赖可以到https://mvnrepository.com/网站查询。使用关键词搜索,然后在搜索结果列表中选择适合的使用。

比如,我们找到的servlet-api的依赖信息:

<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>

这样就可以把上面的信息加入pom.xml。重新执行mvn compile命令。

9、将Web工程打包为war包

运行mvn package命令,生成war包的位置如下图所示:

在这里插入图片描述

10、将war包部署到Tomcat上运行

将war包复制到Tomcat/webapps目录下

在这里插入图片描述

启动Tomcat:

在这里插入图片描述

在这里插入图片描述

通过浏览器尝试访问:http://localhost:8080/pro02-maven-web/index.jsp

【maven】安装、使用和常用命令 确保安装了适当的Java JDK,并将其与Maven配置文件(pom.xml)中的和设置匹配。按照Maven的约定,确保项目的源代码放置在正确的目录结构下,例如将Java源代码放置在src/main/java目录下,资源文件放置在src/main/resources目录下。在pom.xml文件中明确声明和管理项目的依赖项,包括依赖的库、插件和其他项目模块。确保依赖项的版本和范围正确指定,以避免潜在的冲突或不一致性。 阅读详情

相关推荐

Maven学习笔记

- 通过自定义属性,统一指定Spring的版本 -->-- 自定义标签,维护Spring版本数据 -->真正实现“一处修改,处处生效”。

rsrucdhh的博客 1012

maven指令

mvn -v//查看版本//编译源代码//在本地 Repository 中安装 jarmvn test//运行应用程序中的单元测试mvn site//生成项目相关信息的网站//依据项目生成 jar 文件//在本地 Repository 中安装 jarmvn clean//清除目标目录中的生成结果//将.java类编译为.class文件//进行打包//执行单元测试//部署到版本仓库//使其他项目使用这个jar,会安装到maven本地仓库中//从中央仓库下载文件至本地仓库//查看当前激活的profiles。

biyn9的博客 9277

Redis国产替换Tair开源数据库004_自带命令行客户端测试Tair_常见命令_重启_创建maven项目使用java操作tair

然后再去使用manager.get 去获取某个key对应的结果,注意这个结果,并不是key对应的value。然后还可以去用manager.delete 去执行删除.操作,可以看到删除了一个key是name的数据。这个就是对key的值,如果值没有,那么就用initValue,如果有就用,key对应的值,来自增。注意这里的1,表示我们要使用1这个namespace,这个是1到65535 这个数.可以看到value的内容. 返回的信息比较详细,需要使用的时候去看。这个就是使用自带的客户端,去测试了一下,命令行,

添柴程序猿的专栏 301

Maven【1】(命令行操作)

这个命令的作用是:将本地构建过程中生成的 jar 包存入 Maven 本地仓库,而且安装操作还会将 pom.xml 文件转换为 XXX.pom 文件一起存入本地仓库。注意:运行 Maven 中和构建操作相关的命令时,必须进入到 pom.xml 所在的目录。是指当前工程打包的方式,默认以jar包的方式进行打包,说明这是一个Java工程如果取值为war的话,生成war包,说明这是一个Web工程。打包的结果——jar 包,存放的目录:target。2.然后是具体的子标签,第一个是。标签来配置具体的依赖的信息的。

weixin_63257947的博客 2109

稳健自适应波束形成学习(2):自适应计算对角加载量方法——基于广义线性组合的鲁棒Capon波束形成

对于快拍数相对阵元数较小时,样本协方差矩阵不能很好对协方差矩阵进行估计。常规的对角加载量需要根据经验值或不断手动调整进行测试,没有一个明确的准则和推导。该篇介绍一种自适应计算对角加载量的方法,且能适应快拍数相对阵元数较小时的情况。均匀线阵阵元数:18;载波频率30MHz;通信信号来波方向0°、来波估计偏差0.5°;干扰来波方向30°;通信信号信噪比10dB;干扰信号信噪比60dB。也即在干扰角度生成66dB的零陷,通信信号受到16dB的衰减。

a1uajug的博客 824

fluent二维叶型仿真_Fluent案例4【自然对流】

自然对流来了!!江苏的高校好多开学了,我啥时候才能开学另外,刚才看了何同学的Mac Pro深度体验视频,我好酸/(ㄒoㄒ)/~~好想拥有一台跑仿真那种sou~sou~sou~的机器。废话不多说了,进入正题!案例题目:一个矩形空腔内有500K恒温小球,矩形空腔充斥空气,边界条件绝热,模型尺寸如下,试模拟空腔内空气流动状态做出温度变化图。(尺寸大小懒得写了,在建模部分里有)操作平台:workbench...

weixin_39724469的博客 3670

maven详解五、maven mvn 命令行的操作和使用

maven详解

二总的猫 2万+

【Unity】Pico VR 开发实战:从环境搭建到交互实现

本文是一份详细的Unity Pico VR开发实战指南,涵盖从环境搭建到核心交互实现的全流程。详细讲解了如何集成Pico Unity Integration SDK与XR Interaction Toolkit,配置开发环境,并重点解析了手柄输入处理、射线交互以及VR UI操作三大核心模块的代码实现与优化技巧,帮助开发者快速上手Pico VR应用开发。

rice5的博客 1173

maven的命令行操作

maven的命令行操作

qq_56619322的博客 754

RDMA学习笔记-IB五层网络协议和报文结构

Reference InfiniBand Architecture Specification Volume 1, Release 1.3 文章目录IBA 网络协议分层1.链路层1.1 LRH1.2 ICRC1.3 VCRC2.网络层(GRH)3.传输层3.1 BTH3.2 extended transport header4. 报文结构4.1 send request4.2 RDMA Write request4.3 RDMA Read request4.4 ACK4.5 Atomic operatio

u014114310的博客 9466

锐捷交换机堆叠配置举例

一、组网需求: 1)四台S2628G进行堆叠; 2)设备在堆叠前先设置好优先级; 3)使用光口堆叠的设备如RG-S2928G-E相关配置 二、组网拓扑 三、配置要点: 普通堆叠设备不需要配置,只要把堆叠模块和线缆连接好即可 堆叠模块不支持热插拔,即插在模块连上线缆后不能立即生效,需要重启设备才生效。 如果拔掉堆叠插槽后,想再插上模块堆叠,那么必须重启设备才生效 设备堆叠需要协商参数,时间会比较久,请耐心等待 堆叠时设备建议是...

dongsheng_9234的专栏 8283

命令行方式操作springboot项目、maven编译并打Jar包

前提: Springboot项目,需要打成jar包放到服务器上面运行 1.代码已经写好,pom文件内容为: <groupId>com.demo</groupId> <artifactId>uiot-demo</artifactId> <version>1.0.1</version> //Jar包版本 <packaging>jar</packaging> <buil.

weixin_49456013的博客 2873

【UGUI】二、Text(TMP) 文本

Text(TMP)、导入中文字库

天行健,君子以自强不息 3365

Maven之命令行操作

使用命令创建项目 命令模板: mvn archetype:generate 固定格式 -DgroupId 组织标识(包名) -DartifactId 项目名称 -DarchetypeArtifactId maven-archetype-quickstart,创建一个Java Project; maven-archetype-webapp,创建一个Web Project -DinteractiveMode 是否使用交互模式 -DarchetypeCatalog=local 离线模式 使用命令:

〆、挽风的博客 668

保姆级教程:在Ubuntu 22.04上用Conda搞定nuPlan数据集环境(Python 3.9 + PyTorch)

本文提供了一份详细的Ubuntu 22.04环境下使用Conda配置nuPlan自动驾驶数据集的保姆级教程,涵盖Python 3.9安装、Conda环境管理、PyTorch配置及数据集可视化验证等关键步骤,帮助开发者高效搭建开发环境。

weixin_29061997的博客 253

把开源 Skills 集成到 LangGraph 项目

1. 定义智能体状态(必须包含 messages,其他字段按需扩展)messages: List[HumanMessage | AIMessage | ToolMessage] # 消息流(核心)skill_output: Optional[str] # 存储 Skill 执行结果next_node: str # 控制流程跳转# 2. 定义智能体决策节点(决定是否调用 Skill)"""智能体决策逻辑:根据用户输入判断是否调用开源 Skill"""# 获取最后一条用户消息。

lpfasd123的博客 896

在 命令行 (cmd)执行 Maven命令,对java工程进行打包 操作 (指定settings.xml)

■前提条件 ・Maven工程(有pom文件) ・JDK安装  对应的bin,设置到环境变量path中 ・Maven安装 对应的bin,设置到环境变量path中 ・镜像库已经设置好(repository) ・对应的setting.xml已经设置好(镜像库对应的文件) ■命令行执行 0.如果不在环境变量path中设置, 也可以在命令行窗口打开之前设置 set path=%JAVA_HOME%\bin;%MAVEN_HOME%bin;%path% ...

sun0322 2万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Maven的命令行操作(续)

Maven的命令行操作(续) 实验五:war中导入jar包 1、观念 明确一个意识:从来只有Web工程依赖Java工程,没有反过来Java工程依赖Web工程。本质上来说,Web工程依赖的Java工程其实就是Web工程里导入的jar包。最终Java工程会变成jar包,放在Web工程的WEB-INF/lib目录下。 2、操作 在pro02-maven-web工程的pom.xml中,找到dependencies标签,在dependencies标签中做如下配置: <!-- 配置对Java工程pro01-mav

runofsun的博客 816

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

初识Maven(一)命令行操作和idea创建maven工程

Maven 是 Apache 软件基金会组织维护的一款专门为 Java 项目提供**构建**和**依赖**管理支持的工具。下载好压缩包后解压(记得钥解压到非中文、没有空格的目录)进入Maven的核心配置文件conf/setting.xml打开看到如图部分,如果没有自己指定本地仓库,则会按照图中所示的路径存放后面所需的资源。所以我们可以按照图中格式自己手动配置本地仓库的位置(非中文、没有空格配置镜像仓库,在配置文件中,原本是如下配置。

weixin_66196728的博客 1438

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Maven【4】(继承)(命令行操作)

这里还要注意一点,如果子工程的groupId和version与父工程的一样,那么子工程的groupId和version就可以省略。打包方式为 pom 的 Maven 工程中不写业务代码,它是专门管理其他 Maven 工程的工程。然后我们可以在子工程中引用那些被父工程管理的依赖,子工程引用父工程中的依赖信息时,可以把版本号去掉,把版本号去掉就表示子工程中这个依赖的版本由父工程决定。本质上是 A 工程的 pom.xml 中的配置继承了 B 工程中 pom.xml 的配置,本质上是pom文件里的配置内容的继承。

weixin_63257947的博客 1129

Maven打包跳过测试的三种正确姿势:从命令行参数到POM配置再到IDEA图形化操作

本文详细介绍了Maven打包时跳过测试的三种方法:命令行参数(-DskipTests和-Dmaven.test.skip)、POM文件配置以及IntelliJ IDEA图形化操作。针对不同场景提供了最佳实践,帮助开发者高效完成构建任务,同时确保代码质量。特别解析了常见错误如'Unknown lifecycle phase'的解决方案,并对比了不同跳过策略的优缺点。

weixin_30529023的博客 347

maven项目的创建与配置、maven命令行操作、参数说明、依赖管理

一、建maven项目(eclipse ee版本) 选这两项就可以建maven项目了 二、设置maven 一是修改setting.xml(maven的conf目录) 修改本地仓库地址:&lt;localRepository&gt;d:/.m2/repository&lt;/localRepository&gt; 在mirrors加上阿里云的镜像: &lt;mirror&gt;  ...

苏云南雁的博客 4295

Maven【2】( Web 工程依赖 Java 工程)(命令行操作)

这是因为junit 依赖了hamcrest-core,然后基于依赖的传递性,hamcrest-core 被传递到我们的工程了。我们打包后可以发现,通过查看 war 包内的结构,我们看到被 Web 工程依赖的 Java 工程确实是会变成 Web 工程的 WEB-INF/lib 目录下的 jar 包。然后我们在web工程中编写一下测试代码,依赖了以后,依赖了Java工程了,在一个工程里面能不能用到另一个工程的类呢。(测试操作中会提前自动执行编译操作,测试成功就说明编译也是成功的。命令,生成 war 包。

weixin_63257947的博客 1109

Maven【3】( 依赖的范围,传递性和依赖的排除)(命令行操作)

main目录下的类为HelloServlet,compile范围引入的依赖为:pro01-maven-java,pro01-maven-java中的类为:Calculator,我们只需验证main目录下的类为HelloServlet能否使用Calculator即可。我们可以看到pro01-maven-java 依赖了 junit,但是在 pro02-maven-web 工程中查看依赖树的时候并没有看到 junit,所以test范围不能传递。所以配置依赖的排除其实就是阻止某些 jar 包的传递。

weixin_63257947的博客 1146

Maven项目管理(一) IntelliJ Idea+Maven环境搭建与基于命令行的基本使用

MavenMAVEN是一个强大的构建工具,ItelliJ Idea 是个强大的IDE,帮他们联合起来使用,将会是多么美妙的事情。但是IDE中集成的Maven总使习惯使用命令行的我们头大,不想为了使用IDE重新学习如何使用怎么办,那么就通过配置环境兼容就好了。Maven的准备 安装之前通过terminal输入java -version,查看是否已经安装JAVA的JDK和JRE linux下apt-ge

llin-黎辰 1万+

Maven学习记录(三)——Maven命令

写在前面 本文主要基于命令行进行mvn操作。 实际开发中应该很少用到这样的操作,但是掌握这些操作有助于理解Maven的运行机制。 技术小白,写的不对,请批评指正。 (一)安装和配置 安装其实没啥可讲的,官网http://maven.apache.org/download.cgi 下载编译好的 binary zip 压缩包,解压到目录即可。 配置环境变量MAVEN_HOME 或 M2_HO...

海边的豆豆的博客 505
上一篇: Mave概念及其配置
下一篇: Maven的命令行操作(续)
梦想new的出来
梦想new的出来 新星创作者: 算法与数据结构技术领域 新星创作者: 算法与数据结构技术领域
博客等级 码龄5年 5189粉丝 157原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦想new的出来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值