1. 程式人生 > 其它 >JavaWeb學習Day01開始前的一些準備

JavaWeb學習Day01開始前的一些準備

JavaWeb學習Day01開始前的一些準備

1.Maven

Maven是用來幹什麼的

  1. Java web開發中,需要使用大量的jar包,需要手動去匯入;

  2. 幫助我們自動匯入和配置jar包

1.1 Maven專案架構管理工具

maven核心思想:約定大於配置

  • 有約束,不要去違反
  • Maven會規定好你如何去編寫我們的Java程式碼,必須要按照這個規範來;

1.2 下載安裝

​ 官網:https://maven.apache.org/

​ 下載後解壓

1.3配置環境變數

  • M2_HOME maven目錄下的bin目錄
  • MAVEN_HOME maven的目錄
  • 在系統的path中配置 %MAVEN_HOME%\bin
  • 控制檯輸入mvn -version 測試是否配置成功

1.4映象(推薦阿里雲)

  • 映象: mirrors

    • 作用:加速我們的下載(因為國內有牆,直接訪問外網很慢甚至連線不上)
  • 國內建議阿里雲映象

  • D:\java_student\maven\apache-maven-3.8.1\conf\settings.xml

      <!-- 阿里映象倉庫 -->
      <mirrors>
        <mirror>
            <id>alimaven</id>
            <name>aliyun maven</name>
            <url>
                http://maven.aliyun.com/nexus/content/groups/public/
            </url>
            <mirrorOf>central</mirrorOf>
        </mirror>
      </mirrors>
    

    1.5本地倉庫

    建立一個本地倉庫: localRepository

    D:\java_student\maven\apache-maven-3.8.1\conf\settings.xml檔案 50行左右

    <localRepository>D:\java_student\maven\repository</localRepository>
    

    1.6 IDEA中Maven操作

    1. 建立一個maven專案

    1.5 pom.xml(核心檔案)

    <!--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>com.kai</artifactId>
      <version>1.0-SNAPSHOT</version>
      <!-- package:專案的打包方式
          jar:java應用
          war:JavaWeb應用
       -->
      <packaging>war</packaging>
    
      <name>com.kai 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>
        <!--具體以來的jar包配置檔案-->
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.11</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
      
      <!--專案構建用的東西-->
      <build>
        <finalName>com.kai</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由於他的約定大於配置,我們之後可能遇到所寫的配置檔案無法被匯出或生效的問題。

    解決方案:

     <!--build中配置resources,防止我們資源匯出失敗的問題-->
    <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>