• maven工程目录结构&常用命令


    工程目录结构:

      作为一个 maven 工程,它的 src目录和 pom.xml 是必备的。
      进入 src目录后,目录结构如下:

      src/main/java —— 存放项目的.java 文件
      src/main/resources —— 存放项目资源文件,如 spring, hibernate 配置文件
      src/test/java —— 存放所有单元测试.java 文件,如 JUnit 测试类
      src/test/resources —— 测试资源文件
      target —— 项目输出位置,编译后的class 文件会输出到此目录
      pom.xml——maven 项目核心配置文件
      注意:如果是普通的 java 项目,那么就没有webapp 目录。

    常用命令:

      compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target 目录下。
        打开cmd 进入命令状态,执行mvn compile

        查看 target 目录,class 文件已生成,编译完成。

      test 是 maven 工程的测试命令 mvn test,会执行src/test/java下的单元测试类。

      clean 是 maven 工程的清理命令,执行 clean 会删除 target 目录及内容。

      package 是 maven 工程的打包命令,对于 java 工程执行 package 打成 jar 包,对于web 工程打成 war 包。

      install 是 maven 工程的安装命令,执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。
        从运行结果中,可以看出:当后面的命令执行时,前面的操作过程(compile、test、package...)也都会自动执行

    jar 包的坐标:

      从中央仓库中查找坐标 :https://search.maven.org/  https://mvnrepository.com/

      依赖范围:

        A 依赖 B,需要在 A 的 pom.xml 文件中添加 B 的坐标,添加坐标时需要指定依赖范围,依赖范围包括:

          1.compile:编译范围,指 A在编译时依赖 B,此范围为默认依赖范围。编译范围的依赖会用在编译、测试、运行,由于运行时需要所以编译范围的依赖会被打包。
          2.provided:provided 依赖只有在当 JDK 或者一个容器已提供该依赖之后才使用, provided 依赖在编译和测试时需要,在运行时不需要,比如:servlet api 被 tomcat 容器提供。
          3.runtime:runtime 依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如:jdbc的驱动包。由于运行时需要所以 runtime 范围的依赖会被打包。
          4.test:test 范围依赖 在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用,比如:junit。由于运行时不需要所以test范围依赖不会被打包。
          5.system:system 范围依赖与 provided 类似,但是你必须显式的提供一个对于本地系统中 jar文件的路径,需要指定 systemPath 磁盘路径,system依赖不推荐使用。
          

        默认引入 的 jar 包 ------- compile 【默认范围 可以不写】(编译、测试、运行 都有效 )
        servlet-api 、jsp-api ------- provided (编译、测试 有效, 运行时无效 防止和 tomcat 下 jar 冲突)
        jdbc 驱动 jar 包 ---- runtime (测试、运行 有效 )
        junit ----- test (测试有效)
        依赖范围由强到弱的顺序是:compile>provided>runtime>test

         

    设置 jdk 编译版本:

      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <source>1.8</source>
              <target>1.8</target>
              <encoding>UTF-8</encoding>
            </configuration>
          </plugin>

        </plugins>
      </build>

    设置Tomcat插件:

      <plugins>
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.2</version>
          <configuration>
            <port>8080</port>
            <--项目路径控制意味着http://localhost:8080/abc-->
            <path>/abc</path>
            <uriEncoding>UTF-8</uriEncoding>
          </configuration>
        </plugin>

      </plugins>

  • 相关阅读:
    20189221 2018-2019-2 《密码与安全新技术专题》第五周作业
    2018-2019-2 20189221 《网络攻防技术》第九周作业
    2018-2019-2 20189221 《网络攻防技术》第八周作业
    20189221 2018-2019-2 《密码与安全新技术专题》第四周作业
    2018-2019-2 20189221 《网络攻防技术》第七周作业
    2018-2019-2 20189221 《网络攻防技术》第六周作业
    20189221 2018-2019-2 《密码与安全新技术专题》第三周作业
    2018-2019-1 20189203《Linux内核原理与分析》第五周作业
    2018-2019-1 20189203《Linux内核原理与分析》第四周作业
    2018-2019-1 20189203《Linux内核原理与分析》第三周作业
  • 原文地址:https://www.cnblogs.com/roadlandscape/p/12245723.html
Copyright © 2020-2023  润新知