Maven入门

it2023-02-12  86

Maven入门

Maven介绍

Maven是项目管理工具,对软件项目提供构建与依赖管理Maven是Apache下的Java开源项目Maven为Java项目提供了统一的管理方式,已成为业界标准

解决了的问题

工程的结构不统一第三方jar包多的时候,不便于管理工程打包的困难

Maven核心特性

项目设置遵循统一的规则,保证不同开发环境的兼容性强大的依赖管理,项目依赖组件自动下载、自动更新可扩展的插件机制,使用简单,功能丰富

Maven的坐标:

GroupId:机构或者团队的英文,采用"逆向域名"形式书写

ArtifactId:项目名称,说明其用途,例如:cms(内容管理系统),oa(办公自动化系统)

Version:版本号,一般采用“版本+单词”形式,例如:1.0.0.RELEASE

Maven项目标准结构

目录用途${basedir}根目录,用于保存pom.xml${basedir}/src/main/javaJava源代码目录${basedir}/src/main/resources资源目录,保存配置文件、静态图片等${basedir}/src/test/java测试类的源代码${basedir}/src/test/resources测试时需要使用的资源文件${basedir}/target项目输出的目录,用于存储jar、war文件${basedir}/target/classes字节码(.class)的编译输出目录${basedir}/pom.xml项目(Project)对象(Object)模型(Model)文件

Maven的依赖管理

说明

Maven利用dependency(依赖)自动下载、管理第三方Jar在pom.xml文件中配置项目依赖的第三方组件maven自动将依赖从远程仓库下载至本地仓库,并在工程中引用

获取

apache:https://search.maven.org/

阿里云:https://maven.aliyun.com/mvn/search

本地仓库与中央仓库

使用代理:

<repositories> <repository> <!-- 创建私服的地址 --> <id>aliyun</id> <name>aliyun</name> <url>https://maven.aliyun.com/repository/public</url> </repository> </repositories>

普通项目的创建与打包案例(实现中文与拼音的转化)

创建&使用:

新建一个Maven项目,默认的jdk是1.5,将jdk的版本调整为1.8

配置第三方组件,使得maven自动从远程仓库中下载第三方jar包到本地仓库

核心语句

<dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency> <dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.1</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.1.RELEASE</version> </dependency> </dependencies>

创建简单的java文件

PinyinTestor.java

public class PinyinTestor { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scanner.nextLine(); String[] pinyin = PinyinHelper.toHanyuPinyinStringArray(str.charAt(0)); for(String py:pinyin) { System.out.println(py); } } }

运行main方法

打包

在pom.xml配置文件中,根目录下配置打包的信息,使用maven-assemble-plugin插件进行打包输出

<build> <!-- 配置插件 --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <!-- 经典版本 --> <version>2.5.5</version> <!-- 用于说明打包过程中的一些细节 --> <configuration> <!-- 指定项目的入口类 --> <archive> <manifest> <mainClass>com.imooc.maven.PinyinTestor </mainClass> </manifest> </archive> <!-- 描述符引用 打包过程中所用到的参数 --> <descriptorRefs> <!-- all in one, 在打包时会将所有引用的jar包合并到jar文件中 --> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin> </plugins> </build>

运行assembly插件,输出合并的jar文件

用命令行执行输出的jar包

Web项目的创建与打包案例

创建&使用

配置好tomcat,创建一个普通的Maven项目,默认的jdk是1.5,将jdk的版本调整为1.8

进入项目的配置信息,配置java的编译级别为jdk1.8

在src/main目录下创建一个文件夹,名为webapp

将maven工程变成标准的web项目,打开该工程的属性配置页面,选择 Project Facets,点击Convert to facted from…开启项目模块的面板,选择版本为3.1,并指定运行环境,不要直接点击apply and close,还没完

点击图中出现的Further configuration available…,设置content directory为src/main/webapp,勾选配置xml文件

再在右侧找到deployment assembly,添加maven的依赖,否则在maven加入的jar包会失效

在创建的webapp文件夹中出现MATE-INF和WEB-INF目录说明,已经成功将普通的maven工程变为标准的web工程

在webapp文件夹下创建一个index.jsp , 在里面写如this is a maven project!!!

将当前工程发布到tomcat下运行

在浏览器的url中输入http:localhost:8080/web-maven/, 在页面上显示this is a maven project!!!

打包

在pom.xml文件的根目录中编写配置war包的信息

<!-- packaging代表输出的格式,默认的是jar包 --> <packaging>war</packaging> <build> <!-- 输出的war包名 --> <finalName>web-maven</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.2.2</version> </plugin> </plugins> </build>

运行maven中的插件

点击run

将生成的war包放在tomcat的webapp目录下,运行tomcat bin目录下的startup.bat文件,在浏览器中输入http:localhost:8080/web-maven/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NWdf5Z8B-1603171498267)(G:\JAVA\Maven学习\assert\12.png)]

Maven常用命令

命令用途mvn archetype:generate创建工程结构mvn compile编译源代码mvn test执行测试用例mvn clean清除产生的项目mvn package项目打包mvn install安装至本地仓库
最新回复(0)