zoukankan      html  css  js  c++  java
  • JavaWeb——Maven使用

    5.1、创建一个javaWeb项目
    1. 选择使用摸版:勾选Create from archetype选项

    2. 选择相应的模板:选择org.apache.maven.archetypes:maven-archetype-webapp

    3. 创建目录GAV

      • GroupId:组id
      • ArtifactId:项目名
      • 版本
    4. maven选项:

      • maven目录
      • 用户设置文件地址
      • 本地仓库

      注:Bundled(Maven 3)是IDEA自带的Maven

    5. 目录结构

      -javaWebLearning
          -.idea
          -src
          	-main
          		-webapp
          			-WEB-INF
          				-web.xml  javaWeb项目的配置文件
          			-index.jsp  主页
          -pom.xml
      

    注意:通过该方法生成的Maven项目是不完整的(见下)

    建议:

    1. 不要使用IDEA自带的maven
    2. 建议直接使用的maven的conf目录下的setting.xml配置文件
    5.2、创建一个普通的Maven项目
    1. 目录结构

      -testLearning
          -.idea  表示该项目被idea接管
          -src
          	-main
          		-java    项目源码目录
          		-resources	配置文件
          	-test
          		-java	测试源码目录
          -pom.xml	配置文件
      

      注:体现了Maven的约定大于配置的核心思想

    2. pom.xml文件

      <?xml version="1.0" encoding="UTF-8"?>
      <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>org.example</groupId>
          <artifactId>testLearning</artifactId>
          <version>1.0-SNAPSHOT</version>
      
      
      </project>
      
    5.3、将5.1创建的javaWeb项目更改成一个普通的web项目

    对比上下两个文件夹可知,5.2的文件夹需要追加java(项目源码)目录和test-java(测试源码)目录

    1. 创建相关的目录

    2. 将目录进行标记

      对比真正的maven项目我们还可以发现,java的源码目录应该是蓝色的,而目前创建的目录是灰色的且无法新建类.为此,我们还需要对它进行标记

      • 右键点击文件夹

      • 选择Mark Directory AS

      • 有多个选项

        Sources Root:源码目录(蓝色)
        Test sources Root:测试文件目录(绿色)
        Resources Root:资源目录
        Test Resources Root:测试资源目录
        
      • 或者: File -> Project Structure -> Modules -> 根据项目目录结构点击Mark As对应的选项进行修改

    5.4、配置Tomcat
    1. 点击右上角的Add Configuration,选择Templates下的Tomcat server,Local.由于如果你没有默认的Tomcat配置,点击create configuration

      • Name可以随意填写
      • Application server选择下载的Tomcat位置
      • JRE选择相应的版本
      • HTTP port:tomcat启动的端口号配置,根据实际需要修改(避免被占用)
    2. Deployment(注意到我们还需有问题需要修复)

      原因:我们访问网站,需要指定一个文件夹名字

      • 选择Deployment选项
      • 点击+号,选择添加artifacts,选择war做结尾的选项(发布模式,先打成war包再发布)
      • Application context是访问路径,可以写也可以不写.比如写了/guan,那么应该访问localhost:8082/guan,这个过程叫做虚拟路径映射
    5.5、Maven侧边栏的使用
    Lifecycle  Maven命令行
        clean  清理target
        compile  编译
        test  测试
        package  打包
        install  安装
    plugins  插件
    Dependencies  项目依赖
    
    5.6 pom文件

    功能:Maven项目的核心配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    
    <!--Maven版本和头文件-->
    <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>
    
    <!--  创建项目时配置的GAV-->
      <groupId>org.example</groupId>
      <artifactId>JavawebLearning</artifactId>
      <version>1.0-SNAPSHOT</version>
      <!--package:项目的打包方式
      java:java应用
      war:javaweb应用
      -->
      <packaging>war</packaging>
    
      <name>JavawebLearning Maven Webapp</name>
      <!-- FIXME change it to the project's website -->
      <url>http://www.example.com</url>
    
    <!--  配置-->
      <properties>
    <!--    项目构建的默认编码-->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.7</maven.compiler.source>
        <maven.compiler.target>1.7</maven.compiler.target>
      </properties>
    
    <!--  项目依赖-->
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.11</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
    
    <!--  项目构建用的东西-->
      <build>
        <finalName>JavawebLearning</finalName>
        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
          <plugins>
            <plugin>
              <artifactId>maven-clean-plugin</artifactId>
              <version>3.1.0</version>
            </plugin>
            <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
            <plugin>
              <artifactId>maven-resources-plugin</artifactId>
              <version>3.0.2</version>
            </plugin>
            <plugin>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>3.8.0</version>
            </plugin>
            <plugin>
              <artifactId>maven-surefire-plugin</artifactId>
              <version>2.22.1</version>
            </plugin>
            <plugin>
              <artifactId>maven-war-plugin</artifactId>
              <version>3.2.2</version>
            </plugin>
            <plugin>
              <artifactId>maven-install-plugin</artifactId>
              <version>2.5.2</version>
            </plugin>
            <plugin>
              <artifactId>maven-deploy-plugin</artifactId>
              <version>2.8.2</version>
            </plugin>
          </plugins>
        </pluginManagement>
      </build>
    </project>
    

    注:Maven的高级之处在于,他会帮你导入这个JAR包所依赖的其它jar包

    5.7、将一个普通的maven项目转换为appweb项目

    注:由于普通的maven项目和由maven的appweb模板创建的maven项目的区别,不推荐使用模板,推荐将一个普通的maven项目转换成web项目

    5.8、资源导出问题

    需要对pom.xml进行配置:在build中配置resources,来放置我们资源导出失败的问题(比如在java文件夹下的xml文件)

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <excludes>
                    <exclude>**/*.properties</exclude>
                    <exclude>**/*.xml</exclude>
                </excludes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>
    
    5.9 、Maven操作

    查看目录树:点击idea中maven的右上角按钮

  • 相关阅读:
    GoCN每日新闻(2019-11-03)
    GoCN每日新闻(2019-11-02)
    GoCN每日新闻(2019-11-01)
    GoCN每日新闻(2019-10-31)
    GoCN每日新闻(2019-10-30)
    GoCN每日新闻(2019-10-29)
    xms西软预定列表-房类市场
    GoCN每日新闻(2019-10-28)
    GoCN每日新闻(2019-10-27)
    GoCN每日新闻(2019-10-26)
  • 原文地址:https://www.cnblogs.com/Arno-vc/p/13523437.html
Copyright © 2011-2022 走看看