Maven入门


1.为什么需要Maven

当一些依赖在项目中重复导入引发问题时,当一个项目多个模块同时开发缺乏管理时,当配置、测试、部署频繁发生时,这时候Maven所提供的功能就能解决这些问题,当然,Maven远远不止这些功能。

2.Maven是什么

Maven, a Yiddish word meaning accumulator of knowledge, was originally started as an attempt to simplify the build processes in the Jakarta Turbine project. There were several projects each with their own Ant build files that were all slightly different and JARs were checked into CVS. We wanted a standard way to build the projects, a clear definition of what the project consisted of, an easy way to publish project information and a way to share JARs across several projects.

The result is a tool that can now be used for building and managing any Java-based project. We hope that we have created something that will make the day-to-day work of Java developers easier and generally help with the comprehension of any Java-based project.


参考: What is Maven

3.Maven安装及配置

Mac OS可以使用brew进行安装(先安装brew),

$ brew install maven 
Windows,

参考:Maven的安装及配置

Linux,
参考: Linux配置Maven

3.1 配置阿里云的云仓库

在Maven的setting.xml文件中,加入如下配置:

1.在<mirrors>元素中加入:
    <mirror>
      <id>aliyun</id>
      <mirrorOf>centeral</mirrorOf>
      <name>aliyun mirror</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>

2.在<profiles>元素中加入:
    <profile>
      <id>aliyun</id>
      <activation>
          <activeByDefault>true</activeByDefault>
      </activation>
    <repositories>
      <repository>
        <id>aliyun</id>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      </repository>
    </repositories>
    <pluginRepositories>
            <pluginRepository>
                <id>aliyun</id>
                <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          </pluginRepository>
      </pluginRepositories>
    </profile>

4.pom.xml文件的基本介绍

groupId: 组织ID,约定使用JAVA包命名规范
artifactId:项目ID,表示在groupId的某一单独项目,尽可能不要使用“点”号
version:版本号,一般为x.y.z这种格式,加上-SNAPSHOT,则是快照版本,可以在不更改版本号的情况下,修改配置。Maven也会根据-SNAPSHOT,转成一个时间戳,由此来分辨版本新旧,正式版则不需要加上。正式版本相同,Maven是不会进行更新的。

这三个元素(三元组)是必须定义的,是一个项目的唯一坐标(GAV),也就是标识符的意思。

下面是可选元素
packaging:项目类型,带有子模块的项目的packaging都为pom。packaging如果不进行配置,它的默认值是jar,代表Maven会将项目打成一个jar包。
dependencies:依赖的项目

5.基本命令

  1. mvn archetype:generate 使用模板生成项目
  2. mvn compile 编译
  3. mvn test 单元测试
  4. mvn package 打成war包
  5. mvn deploy 部署项目 
  6. mvn site 生成项目相关站点,在线文档
  7. mvn clean 清理操作
  8. mvn install 将包安装到本地仓库,让其他项目进行依赖
  9. mvn help:effective-pom 查看继承了父POM之后的POM文件的内容

6.Tomcat插件

  1. mvn help:describe -Dplugin=tomcat7 详细帮助
  2. mvn tomcat7:run 启动一个嵌入的Tomcat实例
  3. mvn tomcat:deploy 部署项目
  4. mvn tomcat:undeplay 取消部署项目
PS:Maven提供Tomcat插件是为了方便开发调试

执行tomcat7插件相关的操作时,提示找不到tomcat7插件?


解决方法有:
1. 在一个配置了tomcat7插件的项目目录下执行,因为配置了tomcat7插件,所有maven就知道了其groupId,所以就能够找到了
2. 使用带groupId的全限定名,例子如下:
      mvn help:describe -Dplugin=org.apache.tomcat.maven:tomcat7-maven-plugin:2.2
   由于在指定plugin的时候,写了完整的groupId,所以这样也是可以的
3. 修改一下mvn的配置文件settings.xml, 在<pluginGroups> 这个配置项下面,增加一个<pluginGroup>配置即可
       <pluginGroups>
                  <pluginGroup>org.apache.tomcat.maven</pluginGroup>
       </pluginGroups>

Tomcat Maven插件配置

软件要求

     Tomcat 7. X 版本, Eclipse Eclipse Maven 插件已经配置完成

具体配置

配置 tomcat 用户
打开 tomcat 安装目录,进入 conf 文件夹下,找到对应的 tomcat-users.xml 文件; 将文件中所有内容删除,加入以下内容并保存;
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <user username="admin" password="123456" roles="manager-gui,manager-script"/>
</tomcat-users>

PS:username和password可以替换成自己的。

保存完后,启动 tomcat ,在浏览器中访问 http://localhost:8080 ,点击Manager App按钮,输入刚设置的账号密码,能登录说明设置成功。

Maven 中配置 Tomcat 服务器
修改 mav en 文件 s e tt i ngs.xml 就是 mav en 地依 的位 户 个人 .m 2 夹下 wi ndow s 就是 C //Us e rs// 户名 //.m2
settings.xml 中增加 tomcat 服务器,具体在 <servers></servers> 标签直接增加子元素;具体增加配置如下:
<server>
    <id>tomcat</id>
    <username>admin</username>
    <password>123456</password>
</server>

Tomcat Maven 插件配置
<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <url>http://localhost:8080/manager/text</url>
        <path>/web_project_template</path>
        <uriEncoding>UTF-8</uriEncoding>
        <finalName>web_project_template</finalName>
        <server>tomcat</server>
    </configuration>
</plugin>


PS:在 pom.xml 文件中的 <plugins></plugins> 直接增加子元素,增加如上代码。
运行
Eclipse 中找到对应的项目,右键单击选择 Run As ,找到 Run Configurations ;左键单击

在左侧的菜单栏找到对应的 Maven Build ;左键双击;创建一个新的 maven build 命令; 修改 Name 名称,命名为 maven deploy

选择项目路径,点击 Browse Workspace ,选择需要部署的项目,点击 OK 确认; 在 Goals 中填入 tomcat7:deploy

启动 tomcat ,点击 Run ,即可进行项目部署。



-------------参考《网易云课堂.Java Web开发入门》


Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐