记录Maven的相关操作(笔记整理)

news2024/11/18 9:29:37

在这里插入图片描述

一、安装

我使用的是免安装版的,直接解压缩就可以使用。

二、配置环境变量

  1. 打开环境变量配置。右键计算机→属性→高级系统设置→高级→环境变量,在系统变量中配置。

  2. 配置MAVEN_HOME。在系统变量中新建,变量名MAVEN_HOME,变量值,maven文件夹路径,我的路径是F:\Wab\资料\maven\资料\apache-maven-3.2.3,最好不要有中文,我比较懒,不想改,保存。

  3. 配置path,找到path系统变量,点开,新建,输入%MAVEN_HOME%\bin

  4. 验证是否安装完成,运行cmd,输入mvn -v,显示maven版本则成功。

三、配置本地仓库

打开配置文件,在maven文件夹中有一个conf文件夹,里面有一个settings.xml文件。apache-maven-3.2.3\conf\settings.xml

打开,修改这么一行代码:这里写你的本地仓库的路径

  • 编译 java ->class
  • 测试:针对于项目中的关键点进行测试,亦可用项目的测试代码去测试开发代码
  • 报告:将测试的结果进行显示
  • 打包:将项目中包含的多个文件 压缩成一个文件,用于安装或部署(Java项目-jar web项目-war)
  • 安装:将打成的包 放到本地仓库 供其他项目使用
  • 部署:将打成的包放到服务器上准备运行

将Java js jsp 等各个文件进行筛选 组装 变成一个可以直接运行的项目

注意

Eclispse中部署的web项目可以运行
将eclipse中的项目 复制到Tomcat/webapps 中则不能运行
项目可以在webapps中直接运行

Eclispe中项目在部署时,会生成一个对应的部署项目,(在webapps中)区别于“部署项目因为二者目录结构不一致,因此Tomcat中无法直接运行eclipse中复制过来的项目”

需要部署:项目所需环境

maven常见命令(第一次执行命令)

mvn complie   只编译main目录中 的Java文件
mvn test 测试
mvn package 打成jar包
mvn install 将开发的模块放入本地仓库  供其他模块使用(放入的位置是通过gav 决定的)
mvn clean 删除target 目录(删除编译文件的目录)

编译文件的目录必须在pom.xml目录下

案例

通过maven创建java工程
maven project
配置 properties 中的maven版本
在这里插入图片描述
设置setting.xml
在这里插入图片描述

在这里插入图片描述
注意
在这里插入图片描述
编译执行
在这里插入图片描述

maven编译web项目

配置cargo一键部署

	<plugin>
		<groupId>org.codehaus.cargo</groupId>
		<artifactId>cargo-maven2-plugin</artifactId>
		<version>1.0.3</version>
		<configuration>
			<wait>true</wait>
			<container>
				<!-- 标识使用是那一种容器。这个名字是不能随便定的,cargo有一组支持窗口的列表 -->
				<containerId>tomcat6x</containerId>
				<!-- 容器的zip安装包。这是cargo非常强大的一点,它能够根据给出的zip安装包路径下裁并
				     解压到指定的installDir文件夹下。你也可以直接使用home来指定一个已存在的容器位置。 -->
			    <!--home>D:/apache-tomcat-6.0.29</home-->
				<zipUrlInstaller>
					<url>http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.29/bin/apache-tomcat-6.0.29.zip</url>
					<installDir>/usr/local/${artifactId}/tomcat-installer</installDir>
				</zipUrlInstaller>
			</container>
			<configuration>
				<!-- 容器的指定安放位置。这个和installDir的区别在于installDir只是一个解压用的文件夹
				     而home是这样一个文件夹:当cargo启动容器时,会将installDir中容器文件拷贝到home文件夹
					 下,以后部署的war包也会放到这个文件夹下的wabapps子文件夹内.-->
				<home>/usr/local/${artifactId}/tomcat</home>
				<properties>
					<cargo.hostname>localhost</cargo.hostname>
					<cargo.servlet.port>8080</cargo.servlet.port>
				</properties>
			</configuration>					
			<deployer>
				<deployables>
					<deployable>
						<groupId>${groupId}</groupId>
						<artifactId>${artifactId}</artifactId>
						<type>war</type>
						<properties>
						    <!-- deployer是部署时的相关配置,这个context是用来声明工程部署后的上下文,也就是
							主机地址后面的一级目录位置。这个设置在maven构建中还是很必要的。因为maven默认打出
							的war包是工程名+版本号,部署时如果不设置这里的context,那上下文就变成了工程名+版本号
							的形式。这会使访问变得很不方便。注意,即使你通过修改war插件中的warName也是不能达到这个
							目的,因为cargo认定的默认war包名就是工程名+版本号的形式。
							<context>${artifactId}</context>
						</properties>
					</deployable>
				</deployables>
			</deployer>								
		</configuration>
	</plugin>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/163849.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

parquet

一、parquet结构 Row Group ​ --Column Chunk&#xff1a;一列对应一个Column Chunk ​ – Page&#xff1a;压缩和编码的单元&#xff0c;parquet的 min/max 索引是针对于page的&#xff0c;存在了文件的页脚。以前的版本是存储Column Chunk和Page的索引&#xff0c;导致在…

Linux命令scp用法

本文主要讲的是scp用法如果哪里不对欢迎指出&#xff0c;主页https://blog.csdn.net/qq_57785602?typeblog首先讲述一下scp用法并不是让你连接公司服务器后用的&#xff08;不是连接公司服务器使用&#xff09;&#xff0c;如果要使用的情况下那么请看下面&#xff1a;winr打开…

【C语言篇】请把这篇文章推给现在还对指针一知半解的童鞋~超生动图解,详细讲解,易懂,易学,让天下没有难懂的指针~

&#x1f331;博主简介&#xff1a;是瑶瑶子啦&#xff0c;一名大一计科生&#xff0c;目前在努力学习C进阶,JavaSE。热爱写博客~正在努力成为一个厉害的开发程序媛&#xff01; &#x1f4dc;所属专栏&#xff1a;C/C ✈往期博文回顾:进入内存,透彻理解数据类型存在的意义,整形…

[java拓展]Mysql数据库的基础指令,和JDBC的使用

1.关于mysql数据库 &#xff08;1&#xff09;概述 DBMS数据库管理系统&#xff0c;用来管理数据库&#xff0c;执行sql语句的东西&#xff0c;Mysql&#xff0c;oracle&#xff0c;sqlite这些严格来说不是数据库而是数据库管理系统&#xff0c;其中Mysql最常用&#xff0c;而…

马来酰亚胺聚乙二醇硅烷,MAL-PEG-Silane 结构,科研试剂溶于大部分有机溶剂

马来酰亚胺聚乙二醇硅烷&#xff0c;MAL-PEG-Silane 中文名称&#xff1a;马来酰亚胺聚乙二醇硅烷 分子量&#xff1a;1k&#xff0c;2k&#xff0c;3.4k&#xff0c;5k&#xff0c;10k&#xff0c;20k。。。 存储条件&#xff1a;-20C&#xff0c;避光&#xff0c;避湿 用…

剑指offer----C语言版----第十九天----面试题25:合并两个有序的链表

目录 1. 合并两个排序的链表 1.1 题目描述 1.2 解题思路 1.3 往期回顾 1. 合并两个排序的链表 原题链接&#xff1a;21. 合并两个有序链表 - 力扣&#xff08;LeetCode&#xff09;1.1 题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个…

new-Crack:StarUML 5.1.0 -2023

StarUML 用于敏捷和简洁建模的复杂软件建模器 当前版本&#xff1a;v5.1.0 主要特征 通用语言2 兼容 UML 2.x 标准元模型和图表&#xff1a;类、对象、用例、组件、部署、复合结构、序列、通信、状态图、活动、时间、交互溢出、信息流和剖面图。 SYSML 支持 支持使用 SysML 图…

SSM03_SpringMVC REST风格 SSM整合

01-SpringMVC简介SpringMVC是隶属于Spring框架的一部分&#xff0c;主要是用来进行Web开发&#xff0c;是对Servlet进行了封装。SpringMVC是处于Web层的框架&#xff0c;所以其主要的作用就是用来接收前端发过来的请求和数据然后经过处理并将处理的结果响应给前端&#xff0c;所…

【iHooya】1月14日寒假集训课作业解析

内部元素之和 输入一个整数矩阵&#xff0c;计算位于矩阵内部的元素之和。所谓矩阵内部的元素&#xff0c;不在第一行和最后一行的元素以及第一列和最后一列的元素。 输入 第一行分别为矩阵的行数m和列数n&#xff08;m < 100&#xff0c;n < 100&#xff09;&#xff0…

Arthas 入门到实战(一)快速入门

Arthas官方文档指出&#xff1a; 介绍&#xff1a;Arthas 是一款线上监控诊断产品&#xff0c;通过全局视角实时查看应用 load、内存、gc、线程的状态信息&#xff0c;并能在不修改应用代码的情况下&#xff0c;对业务问题进行诊断&#xff0c;包括查看方法调用的出入参、异常&…

人工智能与游戏

游戏是智能应用最好的平台&#xff0c;可惜的是&#xff1a;只用了少部分计算AI&#xff0c;还没有用到智能的计算计1 引言从1950年香农教授提出为计算机象棋博弈编写程序开始&#xff0c;游戏人工智能就是人工智能技术研究的前沿&#xff0c;被誉为人工智能界的“果蝇”&#…

微信小程序070校园食堂订餐多商家带配送

基于微信小程序食堂订餐管理系 系统分为用户和管理员&#xff0c;商家三个角色 用户小程序端的主要功能有&#xff1a; 1.用户注册和登陆小程序 2.查看系统新闻资讯公告 3.用户查看小程序端的菜品信息&#xff0c;在线搜索菜品&#xff0c; 4.用户查看菜品详情&#xff0c;收…

数据结构-二叉搜索树解析和实现

1.含义规则特性二叉搜索树也叫排序二叉树、有序二叉树&#xff0c;为什么这么叫呢&#xff1f;名字由来是什么&#xff1f;主要是它的规则图一规则一&#xff0c;左子树的所有节点的值均小于它的根节点的值规则二&#xff0c;右子树的所有节点的值均大于它的根节点的值&#xf…

摇头测距小车01_舵机和超声波代码封装

目录 一、摇头测距小车图片演示 二、接线方式 三、代码实现 一、摇头测距小车图片演示 就是在小车原有的基础上&#xff0c;在小车前面加一个舵机和一个超声波&#xff0c;把超声波粘在舵机上 二、接线方式 1、超声波接线 VCC-----上官一号5V GND----上官一号GND Trig----…

.net开发安卓入门-Dialog

.net开发安卓入门-DialogAndroid.App.AlertDialog运行效果代码UI源码引入 下面这个类库才可以使用Java.Interop.Export特性绑定事件Android.App.AlertDialog https://learn.microsoft.com/zh-cn/dotnet/api/android.app.alertdialog?viewxamarin-android-sdk-13 SetTitle &…

nodejs+vue摄影跟拍预定管理系统

&#xff0c;本系统分为用户&#xff0c;摄影师&#xff0c;管理员三个角色&#xff0c;用户可以注册登陆系统&#xff0c;查看摄影套餐&#xff0c;预约套餐&#xff0c;购买摄影周边商品&#xff0c;查看跟拍照片等。摄影师可以对用户的摄影预约审核&#xff0c;跟拍流程管理…

【Java集合】ArrayList自动扩容机制分析

目录 先从 ArrayList 的构造函数说起 一步一步分析 ArrayList 扩容机制 先来看 add 方法 再来看看 ensureCapacityInternal() 方法 ensureExplicitCapacity()和calculateCapacity方法 下面我们接着来看grow() 方法 再来看一下grow()中调用的hugeCapacity() 方法 System.arrayco…

3、代码注释与编码规范

目录 一、代码注释 &#xff08;1&#xff09;单行注释 &#xff08;2&#xff09;多行注释 &#xff08;3&#xff09;文档注释 2. 编码规范 一、代码注释 &#xff08;1&#xff09;单行注释 “//”为单行注释标记&#xff0c;从符号“//”开始直到换行为止的所有内容…

3D立体字生成器【免费在线工具】

Text2STL是一个可以在线使用的免费的3D立体字生成工具&#xff0c;输入文字内容即可实时预览生成的3D立体字模型&#xff0c;还可以导出为STL模型用于3D打印&#xff1a; 3D立体字生成器访问地址&#xff1a; http://text2stl.bimant.com/zh-cn/generator 1、3D立体字生成风…

【零基础】学python数据结构与算法笔记11

文章目录前言65.树的概念66.树的实例&#xff1a;模拟文件系统67.二叉树的概念68.二叉树的遍历69.二叉搜索树的概念。70.二叉搜索树&#xff1a;插入71.二叉搜索树&#xff1a;查询72.二叉搜索树&#xff1a;删除73.二叉搜索树&#xff1a;删除实现总结前言 学习python数据结构…