从零开始使用Maven(一)创建Maven项目

    xiaoxiao2021-03-25  165

    最近在学习Maven,以前倒也不是没有用过,但是总是没有深入去了解,现在分享一下最近学习的心得及Maven的用法,希望能帮到初学者。 一. 首先,Maven是什么?网上搜到的通俗点的说法是这样的: Maven是一个项目构建和管理的工具,提供了帮助管理 构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。 maven的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性 利用maven自身及其插件还可以获得代码检查报告、单元测试覆盖率、实现持续集成等等。 以我的理解,目前在项目中,大多数都是用Maven进行Jar包的版本管理。 Maven的聚合工程管理尤其方便,当一个大的项目包含很多模块的时候,每个人开发完自己的模块,可以通过Maven聚合工程进行版本管理。 二. 用到的工具: 1.先去官网下载apache-maven-3.1.1(必须,你可以把Maven理解为一个Jar包的仓库。) 2.repository(这个是本地Jar包仓库,没有的话,每次项目中用到Jar包的时候都会去Maven服务器上下载;最好找一下别人的仓库拿过来,这样的话,每次用到Jar包会先从本地仓库找,没有的再从Maven服务器上自动下载到本地仓库,然后在复制到项目中。repository在Maven的setting.xml中配置一下即可,这个后面说) 3.nexus-2.14.2-01(nexus是私服,相当于是建在公司服务器上的Maven。因为很多公司限制外网连接,如果没有私服,你根本不能从Maven官网下载Jar包,所以可以在能连接外网的机器上建立nexus,其他局域网的机器直接从nexus下载Jar包即可) 三. 搭建Maven 将apache-maven-3.1.1和repository放在D:\maven中。 Maven的核心配置文件是settings.xml,下面是我改完的配置文件。

    <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <localRepository>D:\maven\repository</localRepository> <pluginGroups> </pluginGroups> <proxies> </proxies> <servers> <server> <id>releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>snapshots</id> <username>admin</username> <password>admin123</password> </server> </servers> <mirrors> <mirror> <id>nexus-repos</id> <mirrorOf>*</mirrorOf> <name>Team Nexus Repository</name> <url>http://192.168.8.79:8081/nexus/content/groups/public/</url> </mirror> </mirrors> <profiles> <profile> <id>jdk-1.7</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.7</jdk> </activation> <properties> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion> </properties> </profile> </profiles> </settings> 注意修改的地方如下: 1.配置本地仓库,指向repository解压后位置:

    <localRepository>D:\Program Files\repository\repository</localRepository> 2.Mirrors标签中添加私服配置,指向公司服务器上的nexus私服 <mirror> <id>nexus-repos</id> <mirrorOf>*</mirrorOf> <name>Team Nexus Repository</name> <url>http://192.168.3.100:8099/nexus/content/groups/public/</url> </mirror> 3.打开myEclipse -> windows -> perferences搜索maven如下图 4.Installations -> add 找到apache-maven-3.1.1解压后的目录—确定 5.User settings -> browse找到2中修改的settings.xml文 -> update settings -> reindex -> apply 6.windows -> show View -> other找到Maven repositories看到下图证明配置完成 四. 创建Maven项目 1.在MyEclipse中创建Maven Project 2.将Maven项目转为Web项目 项目右键点击Properties 项目结构就变成了这样,标准的web项目 3.Maven项目的核心:pom.xml pom是指project object Model。 pom是一个xml,是maven工作的基础,在执行程序的时候,maven会去项目根目录下读取pom.xml获得需要的配置信息。 pom文件中包含了项目的信息和maven build项目所需的配置信息,通常有项目信息(如版本、成员)、项目的依赖、插件和goal、build选项等等。 上面新建的Maven Web项目的pom.xml如下: <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>com.demo</groupId> <artifactId>maven-web</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <build/> </project> 假如你想引用slf4j-1.7.7,在pom.xml中添加下面这段: <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>com.demo</groupId> <artifactId>maven-web</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <build/> <dependencies> <dependency> <groupId>com.slf4j</groupId> <artifactId>slf4j</artifactId> <version>1.7.7</version> </dependency> </dependencies> </project>

    接下来你就可以编译了,pom.xml上右键Run As -> Maven install

    打开target目录: 红色的是项目打成的war包;蓝色的是你在pom.xml中写的想要导入的jar包 maven-web-0.0.1-SNAPSHOT和war包的内容是一样的,可以把他们放到Tomcat下面运行: 地址:http://localhost:8079/maven-web-0.0.1-SNAPSHOT

    转载请注明原文地址: https://ju.6miu.com/read-978.html

    最新回复(0)