Java|Maven基础

2021/04/18 Java 共 2842 字,约 9 分钟

Maven

1. 仓库

Alt Text 仓库有三类:本地仓库,远程仓库【私服】,中央仓库

非公司: maven先去本地仓库获取 jar包,如果没有去中央仓库获取 公司: 有的公司有远程仓库,maven先去本地仓库获取jar包,如果没有去远程仓库获取,再没有去中央仓库获取。

2. 更改本地仓库位置

打开 apache-maven-3.8.1\conf路径下有一个 settings.xml文件,这是一个配置文件,找到这个位置 Alt Text 把下边这句话复制一下里边填写你现在的本地仓库路径

<localRepository>/path/to/local/repo</localRepository>

像下边这个样子

<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 http://maven.apache.org/xsd/settings-1.2.0.xsd">
  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
  <localRepository>D:\Program Files\JetBrains\maven_repository</localRepository>

3. maven标注目录结构

Alt Text

maven标准目录结构

  • src/main/java目录 —— 核心代码部分
  • src/main/resources —— 配置文件部分,存放项目资源文件,如 spring, hibernate 配置文件
  • src/test/java —— 测试代码部分,存放所有单元测试.java 文件,如 JUnit 测试类
  • src/test/resources —— 测试配置文件,测试资源文件
  • target —— 项目输出位置,编译后的class 文件会输出到此目录
  • pom.xml——maven 项目核心配置文件
  • src/main/webapp 页面资源,js,css,图片等等

    4. maven常用命令

  • mvn clean
    • clean 是清理命令,执行 clean 会删除 target 目录及内容。
  • mvn compile
    • compile 是编译命令,作将 src/main/java 下的文件编译为 class 文件输出到 target目录下。
  • mvn test
    • test 是测试命令会执行src/test/java下的单元测试类。同时编译src/main下代码
  • mvn package
    • package 是打包命令,对java工程打成jar包,对于web工程打成war包。
  • mvn install
    • install 是安装命令,执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。

5. maven生命周期

主要有

  • 清理生命周期
  • 默认生命周期
  • 站点生命周期

Alt Text maven概念模型图 Alt Text

6. 配置IDEA

超链接上一篇文章

当前项目配置 Alt Text 全局配置 Alt Text Alt Text

每次创建项目时, IDEA 要使用插件进行创建,这些插件当你创建新的项目时,它每次都会去中央仓库下载,这样使得创建比较慢。应该创建时,让它找本地仓库中的插件进行创建项目。

加一条命令 -DarchetypeCatalog=internal Alt Text

加上 <scope>provided</scope>这句可以让其只在编译时起作用 加上 <scope>test</scope> 让其只在测试时起作用

<dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
<dependencies>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>

为了防止项目在tomcat6,tomcat7,tomcat8都能运行,做以下配置

<build>
    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <port>8888</port>
        </configuration>
      </plugin>
      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
            <target>1.8</target>
            <source>1.8</source>
            <encoding>UTF-8</encoding>
          </configuration>
        </plugin>
    </plugins>
  </build>

添加动态模板,先创建group(Custom)再创建内容(live templete) Alt Text

Alt Text

  • jdbc:mysql:///maven02?useUnicode=true&characterEncoding=utf8

解决MySQL驱动和数据库字符集设置不搭配问题 链接

  • 要想从数据库中取出数据
  • 必须有四个属性:数据库驱动,连接数据库的地址,数据库用户名称,数据库密码。

文档信息

Search

    Table of Contents