標籤:
有的時候 人就是犯賤 東西每天回來研究一下 是沒有結果的 但是在公司 堅定的研究 那結果就看的見了 我就是這樣的 呵呵。
Maven是基於項目物件模型(POM),可以通過一小段描述資訊來管理項目的構建,報告和文檔的軟體專案管理工具。
:http://maven.apache.org.
首先要在eclipse下使用maven 其實也不難 本來eclipse就整合了 只不過倉庫是在c盤下面。下面就來看看怎麼使用maven 使用相依模組。
首先下載maven 解壓到你喜歡的盤符。
開啟你最熟悉的eclipse 在下面配置上你剛剛解壓的maven。
配置一下setting.xml設定檔 配置到本地庫。
然後基本的配置操作就結束了。 下面就是在eclipse下面建立maven項目了。
上面 quick 那個是java項目 就是你要寫se的代碼 webapp 是web項目的。
我這邊建了7個項目。其中3個拿出來做例子。
首先看下setting這個項目 這個項目下面我就配置要用到的jar 。pom.xml如下:
<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>me.send</groupId> <artifactId>setting.configuration</artifactId> <version>0.0.1-SNAPSHOT</version> <name>setting.configuration</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- MySql --> <!-- mysql jdbc --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.30</version> </dependency> <!-- mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.1.1</version> </dependency> <!-- mybatis - spring --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.1.1</version> </dependency> </dependencies> <packaging>pom</packaging> <modules> <module>../produce.service</module> <module>../produce.client</module> </modules></project>
module 是說 你要提供給其他的什麼項目使用 我這邊提供給 service client這2個項目使用。
dependency 這個大家都清楚 是用互連網的其他的架構提供出來的 要是不知道怎麼寫 可以直接在
http://mvnrepository.com/ 這個網站上直接搜尋。上面會顯示這個檔案完整的寫法。
下面看下service 的pom檔案。
<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> <artifactId>produce.service</artifactId> <name>produce.service</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <!-- 增加下面的 項目引用 --> <parent> <groupId>me.send</groupId> <artifactId>setting.configuration</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <packaging>jar</packaging> </project>
這個主要是使用setting項目的jar 看到這邊我們就不需要配置 dependency 了 當然下面的packaging也變成了jar 說明這個是要產生jar檔案的。
在看一下最後的client項目的pom檔案
<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> <artifactId>produce.client</artifactId> <name>produce.client</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>me.send</groupId> <artifactId>produce.service</artifactId> <version>0.0.1-SNAPSHOT</version> <scope>compile</scope> </dependency> </dependencies> <parent> <groupId>me.send</groupId> <artifactId>setting.configuration</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <packaging>jar</packaging> </project>
這邊我要使用setting下面的jar 還要使用service項目下面的所有的代碼 我就配置了一個parent標籤 和 dependency 。這樣 你在service下面寫的代碼就可以直接在client項目調用了 不需要複製過來了。
這樣的好處就是 你寫一處代碼 直接引用 不需要像以前那樣 要複製 包名不對 還要建立包什麼的。對項目的分模組管理是不是爽多了 還有就是jar 你直接寫pom 不需要再去下載。另一個項目要使用 直接引用這個項目的jar就可以 還不需要複製pom下面的代碼。 有沒有覺得爽。
這邊我寫了一段代碼測試一下 是可以的 看標註的地方。 有什麼想說的 可以在下面評論。
maven 相依模組 eclipse