每當搭建框架時,第一步就是為系統整理一個接一個的jar包。用多了就開始深思,如何把自己的項目也整成jar包,供他人使用呢?
近期一直在看徐曉斌所著:《Maven實戰》。因自己學識不夠,只是簡單理解了一些,但也受益頗深。
下面介紹如何利用Maven把項目生成jar包:
1:利用eclipse搭建一個maven項目。(簡單描述pom.xml配置)
<?xml version="1.0" encoding="UTF-8"?> <!-- 指定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"> <!-- 聲明POM相關的命名空間及Xsd元素 --> <modelVersion>4.0.0</modelVersion> <!-- 指定當前POM模型的版本 --> <groupId>com.gcs</groupId> <!-- 定義項目屬於哪個組,與所屬組織或公司關聯 --> <artifactId>AllUtil</artifactId> <!-- 標識當前項目ID --> <version>0.0.1-SNAPSHOT</version> <!-- 指定當前的版本 SNAPSHOT為快照,標志處於開發中 --> <packaging>jar</packaging> <!-- 定義生成格式,若要運行web,需改為war --> <name>AllUtil</name> <!-- 聲明更友好的項目名稱(非必須) --> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <junitversion>4.12</junitversion> <!-- 全局變量定義版本,以方便統一管理 --> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junitversion}</version> <scope>test</scope> </dependency> </dependencies> </project>
2:在項目開發時,pom.xml中<packaging>設置為war,鼠標點擊pom.xml,右鍵,Run As選擇 Maven clean,清理生成的war包,然后選擇Maven install,重新加載(先clean,是防止修改的程序沒有生效。)
3:項目開發結束后,把pom.xml中<packaging>設置為jar。重復第二步,會在target下,看到生成的AllUtil-0.0.1-SNAPSHOT.jar包。
(1)若項目為普通項目,可直接把該jar包放入lib下,導入項目中即可使用。
(2)若項目為maven項目,則需要把jar包放入本地的maven倉庫:
當項目運行Maven install時,maven自動會把jar包自動保存至本地倉庫(本地為*\.m2\repository\com\gcs)。
當新項目需要用到時只需要在pom.xml的<dependencies></dependencies>中配置如下,即可使用
<dependency> <groupId>com.gcs</groupId> <artifactId>AllUtil</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency>
注意:當完成上面的操作,打開項目中 Maven Dependencies,發現導出的jar包呈現文件夾模樣。如下圖所示,此原因是因為AllUtil項目還為可運行項目,把AllUtil項目關閉后,jar包正常顯示,項目也能正常使用。