Maven入门

Maven入门

Maven的目录结构

src
    -main
        -java
            -package
    -test
        -java
            -package
    -resources

groupId的值就是项目的包名
artifactId的值是模块名,建议使用项目名
version表示版本

常用构建命令

  • mvn -v 查看maven版本
  • compile 编译
  • test 测试
  • package 打包
  • clean 删除targettarget中存放的是项目结果编译的字节码文件和测试报告
  • install 发布到本地仓库
  • deploy 发布到远程仓库

创建目录的两种方式:
1. archetype:generate 按照提示进行选择
2. archetype:generate - DgroupId=组织名,公司网址的反写+项目名 -DartifactId=项目名-模块名 -Dversion=版本号 -Dpackage代码所存在的包名

安装Maven

安装之后,可以在preferences中,搜索Maven,在User Settings中查看相关的本地仓库信息

这里写图片描述

pom.xml文件解析

依赖范围
scope:表示依赖项目的一个作用范围。

  • compile:默认值,编译测试运行都有效
  • provided:在编译和测试时有效
  • runtime:在测试和运行时有效
  • test:只在测试时有效
  • system:在编译和测试时有效
  • import:导入的范围,它只使用在dependencyManagement中,表示从其它的pom中导入dependency的配置

使用Maven构建web项目

在新建project的时候,选择Maven project 即可创建Maven项目

使用Maven构建web项目

右键Run as选择Maven install,会下载一些必要的声明周期的插件

pom文件

pom.xml文件的一些介绍:

  <groupId>com.wz</groupId>
  <artifactId>testmaven</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>testmaven</name>
  <url>http://maven.apache.org</url>

<packaging>jar</packaging>表示打包方式,如果是纯java的项目就是jar,如果是web项目可以是war,安卓项目可以是apk

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

properties表示属性的一些设置

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

dependencies表示一些依赖的管理

可能会出现的问题

创建后会提示The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path index.jsp /webapp/src/main/webapp
,是因为是没有servlet-api的缘故,添加Servlet依赖:

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.0.1</version>
        <!-- 只在测试时和编译时运行 -->
        <scope>provided</scope>
    </dependency>

检查目录,会发现只创建了resource目录
检查目录

创建src/main/javasrc/test/java目录

创建目录

然后,在Project Facets中要选上Dynamic Web Module

这里写图片描述

然后,调整部署的代码,在Deployment Assembly中删除/src/test相关的测试文件

使用Jetty作为web容器

在pom.xml中配置

<build>
    <finalName>webapp</finalName>
    <plugins>
        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <version>8.1.16.v20140903</version>
            <executions>
                <execution>
                    <!-- 在打包成功后使用jetty:run来运行jetty服务 -->
                    <phase>package</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

在浏览器输入http://localhost:8080

使用tomcat作为web容器

需要加入tomcat的maven插件
Maven Plugin

  <plugins>
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat6-maven-plugin</artifactId>
      <version>2.2</version>
    </plugin>
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.2</version>
    </plugin>
  </plugins>

在浏览器输入http://localhost:8080/webapp/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值