Maven_day01

简介

是Apache 下的一个项目, 是纯java的项目,并且只是用来管理java项目

Maven好处

maven 做的项目为什么这么小?

没有jar包,需要jar包嘛? 没有存在maven 项目里面 ,在本地有个文件夹里面放的是jar包,(本地仓库)maven 通过的是坐标来

依赖管理


项目一键构建

编码  编译  测试(junit)  运行  打包  部署

一个 tomcat:run就能把项目运行起来

Maven能干的事:

编译  测试(junit)  运行  打包  部署

 小结:

Maven的好处:

 依赖管理

 就是对jar包的统一管理  可以节省空间

 一键构建

 可以跨平台

 应用于大型项目 可以提高开发效率

分析:

用户管理    订单管理   支付管理   。。。。。

Maven的分模块开发

互联网项目 按业务分

传统项目   按层分 entity  dao  service  w

Maven安装配置

下载, apache官网下载

http://maven.apache.org/download.cgi

下载压缩包,然后解压

目录解析

bin  可执行二进制文件

boot maven 的类加载器

conf  里面放的配置文件

Maven 软件的核心配置文件


settings.xml

lib  jar包

Maven 环境变量配置

java开发的肯定要依赖jdk的

Maven3.2x  所需要的jdk都是需要1.7以上的版本

eclipse 每年的6月初会出一个新的版本

为什么配置环境变量 ? , 因为想在电脑上任何地方运行mv

1. 配置MAVEN_HOME 加压maven软件位置


2 配置path(win10 好像不用;隔开就行了)


然后打开cmd黑窗口, 输入mvn -v 如果出现版本 和 win版本, jdk版本就说明配置成功

Hello World

我们如果想用maven 运行编译项目嗯, 我们需要一个插件 可以官网下载, 或者 配置黑窗口直接运行命令,然后会自动下载在


这个目录下面

我们可以自己配置比如小编我就配置在F盘


这样写就行了

然后进入项目的目录,运行命令 mvn -v


这个就是访问地址

Ctrl + C

三种仓库

本地仓库(自己维护),远程仓库(公司维护),中央仓库(apache维护) 2个亿



入门程序

maven 的入门程序

pom.xml 文件是每个项目的核心文件

为什么 eclipse 中写的文件src 会自动编译到 ? ??


因为这个


Maven 的常用命令

执行maven 常用命令的时候, 一定要进入 项目的根目录中

mvn tomcat:run            启动 tomcat 

Clean                         清理编译的class文件

Test                          编译并运行test 目录中的代码

Package                 打包

Install                        就是把项目发布到本地仓库

 Maven的生命周期(了解)

Compile   test  package  install  deploy(发布到私服)

三种生命周期

Clean生命周期

 Clean

Default生命周期

Compile   test  package  install  deploy

Site生命周期

 Site

 命令和生命周期的阶段的关系

不同的生命周期的命令可以同时执行

Mvn clean package

m2e 插件的安装

eclipse  已经集成了这个插件 我们需要配置下就行了


2. 第二个地方


这样就行了

项目构建

new -- > maven paroject  

直接点跳过骨架,


SNAPSHOT  快照, 非正式版

jar  war   pom   pom  表示辅工程

3. 处理红色叉号

再webapp 中创建 一个WEB-INF目录,然后拷贝一份web.xml文件

4.处理编译版本

然后可以更新下


运行 Maven  webapp


点击Maven build  然后就运行, 如果出现 什么jvm占用 8080  说明端口被占用了 关下就行了

重建索引


添加依赖


然后打开这个视图, 如果下面不会搜索的话, 就按照下面的步骤


直接rebuild  index   然后就可以了

打包


然后在打开的窗口输入 package  打包就成功了

依赖范围


compile struts2-core

编译时需要, 测试需要, 运行需要, 打包需要

provided  jsp-api.jar  servlet -api-jar

 编译 时候需要,测试时候需要,运行是不糊要, 打包时候不需要

Runtime  数据库驱动包

编译时候不需要, 测试需要,运行需要,打包需要

Test junit.jar

编译时候不需要, 测试需要,运行不需要

例外的解决

如果用maven 做项目的时候遇到Classfmtexception   这说明开发的环境有冲突, 不匹配, 开发时候,建议把 开发环境调成UTF-8,然后如果用的是jdk1.8 我们用tomcat-7 , 使用插件  需要配置这个

<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
				<configuration>
				 <path>/f</path>
				</configuration>
			</plugin>

最后小编把自己的配置文件献上

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>cn.itcast</groupId>
  <artifactId>hello</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name></name>
  <description></description>
  <build>
		<!-- 配置了很多插件 -->
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.5.1</version>  
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
<!-- 			<plugin> -->
<!-- 				<groupId>org.codehaus.mojo</groupId> -->
<!-- 				<artifactId>tomcat-maven-plugin</artifactId> -->
<!-- 				<version>1.1</version> -->
<!-- 				<configuration> -->
<!-- 				 <port>8888</port> -->
<!-- 				 <path>/first</path> -->
<!-- 				</configuration> -->
<!-- 			</plugin> -->
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
				<configuration>
				 <path>/f</path>
				</configuration>
			</plugin>
		</plugins>
	</build>
  
  
  <dependencies>
  	<dependency>
  		<groupId>javax.servlet</groupId>
  		<artifactId>jsp-api</artifactId>
  		<version>2.0</version>
  		<scope>provided</scope>
  	</dependency>
  	<dependency>
  		<groupId>javax.servlet</groupId>
  		<artifactId>servlet-api</artifactId>
  		<version>2.5</version>
  		<scope>provided</scope>
  	</dependency>
  	<dependency>
  		<groupId>junit</groupId>
  		<artifactId>junit</artifactId>
  		<version>4.9</version>
  		<scope>test</scope>
  	</dependency>
  	<dependency>
  		<groupId>org.apache.struts</groupId>
  		<artifactId>struts2-core</artifactId>
  		<version>2.3.24</version>
  	</dependency>
  </dependencies>
</project>


再见























































猜你喜欢

转载自blog.csdn.net/qq_39148187/article/details/79960077