zoukankan      html  css  js  c++  java
  • 使用Maven构建JavaWeb项目(文字版)


    title: 使用Maven构建JavaWeb项目(文字版)
    date: 2018-11-8

    • Java学习笔记
      tags:
    • maven

    使用Maven构建JavaWeb项目(文字版)

    原文:https://www.cnblogs.com/xdp-gacl/p/4240930.html

    创建Jave Project

    1、创建项目

    使用 mvn archetype:generate 命令,如下所示:

    mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-WebApp -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
    

    参数解释:
    (待补充)

    如果长时间没有创建好,可参考以下方法:

    使用"mvn archetype:generate"命令创建项目时要特别长的时间才能够将项目创建好

    原因是创建项目过程中会下载这个文件,而访问网络上这个文件非常耗时http://repo1.maven.org/maven2/archetype-catalog.xml

    问题解决办法
    1.直接下载archetype-catalog.xml文件,放到本地的apache-maven目录中。
    2.在使用mvn archetype:generate命令时,加上-DarchetypeCatalog=local,以替换网络上的catalog.xml。

    具体参考:http://9leg.com/maven/2015/02/01/why-is-mvn-archetype-generate-so-low.html

    BUILD SUCCESS就表示项目构建成功,当在前用户目录下(如C:UsersAdministrator)下构建了一个Java-web Project叫做my-WebApp。

    2、添加目录
    my-WebApp中目前只有src/main/resources目录和一个pom.xml文件,
    因此还需要手动在src/main 目录下创建一个 java目录,在src目录下创建一个test目录,并在其中创建java和resources目录。

    接着我们就可以将创建好的JavaWeb导入Eclipse中进行开发了。

    2、手动创建resources目录

    但实际项目开发中我们一般都会有配置文件,例如log4j.properties,所以我们还需要手动在main目录和test目录分别创建resources目录(用于存放测试时用到的配置文件)。

    然后我们就可以将创建好的myapp项目导入到Eclipse中进行开发了。

    3、pom.xml文件说明

      通过Maven构建的JavaProject,在项目的根目录下都会存在一个pom.xml文件,进入myapp目录,可以看到有一个pom.xml文件,这个文件是Maven的核心。
      
    pom.xml文件的节点元素说明:

    <project>  pom文件的顶级节点
    <modelVersion> object model版本,对Maven2和Maven3来说,只能是4.0.0 
    <groupId>   项目创建组织的标识符,一般是域名的倒写
    <artifactId>  定义了项目在所属组织的标识符下的唯一标识,一个组织下可以有多个项目
    <version>  当前项目的版本,SNAPSHOT,表示是快照版本,在开发中

    <packaging> 打包的方式,有jar、war、ear等
    <name>  项目的名称
    <url>  项目的地址

    <properties>  属性配置,比如:<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <dependencies> 构建项目依赖的jar

    其中由groupId、artifactId和version唯一的确定了一个项目坐标

    使用Maven打包发布Web项目

      Maven帮我们创建的JavaWeb项目是一个空的项目,只有一个index.jsp页面,我们使用Maven将Web项目打包发布运行。

      在命令行切换到my-WebApp目录,执行:`使用Maven打包发布Web项目

      Maven帮我们创建的JavaWeb项目是一个空的项目,只有一个index.jsp页面,我们使用Maven将Web项目打包发布运行。

      在命令行切换到myWebApp目录,执行:mvn package,构建成功后,myWebApp目录目录下多了一个target目录,在这个目录下会打包成myWebApp目录.war,把这个war包拷贝到Tomcat的发布目录下就可以运行了,构建成功后,my-WebApp目录目录下多了一个target目录,在这个目录下会打包成myWebApp目录.war,把这个war包拷贝到Tomcat的发布目录下就可以运行了。
      
    提示:
    将 my-WebApp.war 复制到tomcat安装目录下的webapps目录下,
    然后在tomcat安装目录的bin目录下,Shift+鼠标右键 进入PowerShell,输入.startup.bat启动tomcat
    最好浏览器访问:http://localhost:8080/my-WebApp/
      

    除了使用Tomcat服务器运行Web项目之外,我们还可以在Web项目中集成Jetty发布运行,首先在pom.xml文件中配置Jetty插件,如下:

    <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/maven-v4_0_0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.mycompany.app</groupId>
      <artifactId>my-WebApp</artifactId>
      <packaging>war</packaging>
      <version>1.0-SNAPSHOT</version>
      <name>myWebApp Maven Webapp</name>
      <url>http://maven.apache.org</url>
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
      <build>
        <finalName>myWebApp</finalName>
         <pluginManagement>
            <!--配置Jetty-->
              <plugins>
                <plugin>
                 <groupId>org.mortbay.jetty</groupId>   
                 <artifactId>maven-jetty-plugin</artifactId>
                </plugin>
              </plugins>
        </pluginManagement>
      </build>
    </project>
    

    打开命令行窗口,切换到myWebApp目录,然后执行:mvn jetty:run启动Jetty服务器。

    Jetty服务器启动成功,使用的是8080端口。

    Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。

    Maven创建项目的命令说明

    mvn archetype:generate  固定写法

    -DgroupId 组织标识(包名)

    -DartifactId 项目名称

    -DarchetypeArtifactId 指定ArchetypeId
    maven-archetype-quickstart 创建一个Java Project
    maven-archetype-webapp 创建一个Web Project

    -DinteractiveMode  是否使用交互模式

      archetype是mvn内置的一个插件,generate任务可以创建一个java项目骨架,DgroupId是软件包的名称,DartifactId是项目名,DarchetypeArtifactId是可用的mvn项目骨架,目前可以使用的骨架有:

    maven-archetype-archetype
    maven-archetype-j2ee-simple
    maven-archetype-mojo
    maven-archetype-portlet
    maven-archetype-profiles (currently under development)
    maven-archetype-quickstart
    maven-archetype-simple (currently under development)
    maven-archetype-site
    maven-archetype-site-simple
    maven-archetype-webapp
    

      每一个骨架都会建相应的目录结构和一些通用文件,最常用的是maven-archetype-quickstartmaven-archetype-webapp骨架。
      
      maven-archetype-quickstart骨架是用来创建一个Java Project,
      maven-archetype-webapp骨架是用来创建一个JavaWeb Project。

      不得不说,Maven的确是一个很好的项目构建工具。掌握好Maven对于项目开发是非常有帮助的。

  • 相关阅读:
    linux下如何查看cpu信息
    Linux更换HBA卡后重新扫盘指令
    oracle 11gR2 RAC存储迁移
    Data Migration from Various Storage Types Using EMC VPLEX and EMC RecoverPoint Technologies
    【11grac】Oracle RAC 更换存储实验
    Oracle RAC 11GR2更换主机不换存储--ASM磁盘组异机挂载 推荐 原创
    ELK(Elasticsearch + Logstash + Kibana) 日志分析平台
    Ogg For Bigdata 同步Oracle数据到KAFKA(包括初始化历史数据)
    stm32cubemx+clion环境搭建
    stdarg宏与实现stm32printf串口打印
  • 原文地址:https://www.cnblogs.com/id88/p/14615258.html
Copyright © 2011-2022 走看看