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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

在这里插入图片描述

一、安装

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

二、配置环境变量

  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>
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6