6、maven的pom檔案配置
阿新 • • 發佈:2019-01-22
1、現在我們來配置一下我們的Maven的pom.xml檔案,也就是我們的jar包。
我們先把pom.xml檔案拷貝下來,然後逐個講解一下。我們點選手動匯入。這樣變化就匯入進來了。
然後我們看到我們pom.xml檔案引入的jar包就都引入進來了
下面我們來解釋一下
<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</groupId> <artifactId>mmall</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>mmall Maven Webapp</name> <url>http://maven.apache.org</url> <!-- 上面這些是預設生成pom.xml的配置 裡面有groupId、artifactId還有packaging,就是說我們打包的時候是打成一個war包。 還有版本version、我們是1.0的快照版, --> <!-- 下面的properties就是我們在pom.xml裡面的一些配置。 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> <org.springframework.version>4.0.0.RELEASE</org.springframework.version> <org.mybatis.version>3.4.1</org.mybatis.version> <org.mybatis.spring.version>1.3.0</org.mybatis.spring.version> </properties> <dependencies> <!-- 下面的是我們的依賴,我們依賴的jar包全部配置在dependency節點下 --> <!-- servlet的jar包,裡面的version就是引用一個常量,來引入商品配置的4.0.0 --> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-servlet-api</artifactId> <version>7.0.64</version> </dependency> <!-- 使用mvc的jar包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${org.springframework.version}</version> </dependency> <!-- oxm --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-oxm</artifactId> <version>${org.springframework.version}</version> </dependency> <!-- jdbc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${org.springframework.version}</version> </dependency> <!-- tx --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${org.springframework.version}</version> </dependency> <!-- test --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${org.springframework.version}</version> </dependency> <!-- AOP --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.7.3</version> </dependency> <!-- 這是mybatis-spring整合的一個jar包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>${org.mybatis.spring.version}</version> </dependency> <!-- mybatis的jar包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${org.mybatis.version}</version> </dependency> <!-- 這個是AOP用的 --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.6.11</version> </dependency> <!-- 這個是json序列化和反序列化用的 --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.12</version> </dependency> <!-- 連線池 --> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> <!--<scope>runtime</scope>--> </dependency> <!-- 這是我們配的日誌 --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.2</version> <scope>compile</scope> </dependency> <!-- 我們採用logback來做日誌 --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.1.2</version> <scope>compile</scope> </dependency> <!-- 這是MySQL的驅動 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> <!-- 這是guava,裡面提供了豐富的工具類和各種資料結構 --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>20.0</version> </dependency> <!-- 這是阿帕奇的,這裡面有很多工具類 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.5</version> </dependency> <!-- 這是集合 --> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> <!-- 這是單元測試的jar包 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <!--<scope>test</scope>--> </dependency> <!-- 這個是做時間處理的jar包 --> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.3</version> </dependency> <!-- id加密解密 --> <dependency> <groupId>org.hashids</groupId> <artifactId>hashids</artifactId> <version>1.0.1</version> </dependency> <!-- 上傳FTP伺服器的用到的ftpclient jar包--> <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.1</version> </dependency> <!-- 上傳檔案時候用到的jar包 file upload --> <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.0.1</version> </dependency> <!-- 下面這三個是mybatis分頁外掛的jar包 mybatis pager --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.0</version> </dependency> <dependency> <groupId>com.github.miemiedev</groupId> <artifactId>mybatis-paginator</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>com.github.jsqlparser</groupId> <artifactId>jsqlparser</artifactId> <version>0.9.4</version> </dependency> <!-- 下面這些是我們整合支付寶支付的時候要引入的jar包 alipay --> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.10</version> </dependency> <dependency> <groupId>commons-configuration</groupId> <artifactId>commons-configuration</artifactId> <version>1.10</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>2.1</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.3.1</version> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> <version>1.3</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> </dependencies> <!-- 下面是build配置,finalName和專案名保持一致就可以了, --> <build> <finalName>mmall</finalName> <plugins> <!-- 這就是mybatis三劍客當中生成enerator-maven-plugin, 它會根據資料庫的資料表結構生成對應的DAO層檔案 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </plugin> <!-- 下面是配置maven的plugins,一個編譯的plugins, 因為我們使用的是jdk1.7,所以source和target要配置成1.7 --> <!-- geelynote maven的核心外掛之-complier外掛預設只支援編譯Java 1.4,因此需要加上支援高版本jre的配置,在pom.xml裡面加上 增加編譯外掛 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> <!-- ${project.basedir}這個引入的目錄是專案的base目錄 我們後續會把支付寶整合,支付寶官方提供的SDK,放到WEB-INF/lib包下 然後通過這個引數${project.basedir}來把班底的jar包在編譯時引入 如果我們沒有配置它的話,我們雖然本地是OK的,但是我們釋出到線上的時候, 我們會發現編譯的時候找不到支付寶SDK裡面的類,報一個no class found異常, 所以這個配置是非常重要的, 我們為什麼要引入本地的jar包,因為支付寶SDK提供的jar包在我們的中央倉庫裡面沒有, 除非我們搭建私服,把支付寶SDK的jar包放到個人私服裡,然後在引入私服裡面pom.xml檔案 我們這裡使用中央倉庫,因為中央倉庫比較通用 --> <compilerArguments> <extdirs>${project.basedir}/src/main/webapp/WEB-INF/lib</extdirs> </compilerArguments> </configuration> </plugin> </plugins> </build> </project>
這樣我們pom.xml檔案就介紹完了。
這裡我們介紹一下我們平時如何引入一個jar包
(2)搜尋中央倉庫jedis
(3)
我們看到左側有個Apache Maven的配置檔案,我們把它複製出來
然後貼上到dependencies裡面
我們在點選右上角,匯入一下儲存
這時我們就可以在左側找到這個jar包了
至此我們專案的Maven的配置就配置好了