準備工作:
假如我有一個自定義jar是:123456.jar,下載地址http://download.csdn.net/detail/wabiaozia/9870838
如果不想下載,可以按照https://jingyan.baidu.com/article/046a7b3ed8b23ef9c27fa9b9.html 操作即可得到jar。
jar包裏的源碼是:
public class RegexUtils {
/**
* 驗證Email
* @param email email地址,格式:[email protected],[email protected],xxx代表郵件服務商
* @return 驗證成功返回true,驗證失敗返回false
*/
public static boolean checkEmail(String email) {
String regex = "\\w+@\\w+\\.[a-z]+(\\.[a-z]+)?";
return Pattern.matches(regex, email); }
}
使用建議:
建議使用第二種方式引入本地jar
引入自定義jar方式一:
1 首先找到你的maven的配置文件{你maven的路徑}\conf\settings.xml,然後打開settings.xml,查看你存放本地jar路徑的根目錄。例如我的maven根目錄是C:\Users\user\.m2\localRepository。我自己定義的jar只要按照一定的規則放在這個根目錄下就行了,下文會具體介紹。
2 假如你自定義的jar包是123456.jar,你想在你項目的pom.xml中這樣引入你的jar包
<dependency>
<groupId>123456</groupId>
<artifactId>123456</artifactId>
<version>1.0</version>
</dependency>
3 在你的根目錄文件夾下建立如下文件夾
在根目錄C:\Users\user\.m2\localRepository\ 創建123456文件夾 ---->再創建123456文件夾----->再創建1.0文件夾
最後把123456.jar放到1.0文件夾下
轉載請標明鏈接:http://blog.csdn.net/wabiaozia?viewmode=contents
如下圖所示
4 把123456.jar改爲123456-1.0.jar,並創建文件123456-1.0.pom。這裏注意,創建的文件後綴是點pom而不是點xml(是" . pom"不是".xml")。
然後在123456-1.0.pom中寫如下內容
<project>
<modelVersion>1.0.0</modelVersion>
<groupId>123456</groupId>
<artifactId>123456</artifactId>
<version>1.0</version>
</project>
5 在你的項目的pom.xml依賴中引入就行了
<dependency>
<groupId>123456</groupId>
<artifactId>123456</artifactId>
<version>1.0</version>
</dependency>
6 如果你的pom.xml報錯
然後勾選 force update of snapshots/releases 選項即可。
7 項目代碼中使用:
boolean b = RegexUtils.checkEmail(email);
8 關於groupId,artifactId怎麼寫再舉一例
jar包的位置
pom.xml中引入
<dependency>
<groupId>com.taibao</groupId>
<artifactId>Butils</artifactId>
<version>1.0</version>
</dependency>
引入自定義jar方法二:
參考http://blog.csdn.net/tech4j/article/details/45372263
確保在cmd當中可以正確使用mvn命令(通過mvn -v可以驗證),然後使用如下命令:
mvn install:install-file -Dfile=D:\ojdbc7.jar -DgroupId=com.tech4j.driver -DartifactId=oracle-connector-java -Dversion=12.1 -Dpackaging=jar
在這段命令中,-Dfile參數指你自定義JAR包文件所在的路徑,並依次指定了自定義的GroupId、ArtifactId和Version信息。 通過這種方式,可以簡單快速地將第三方JAR包安裝到本地倉庫中供Maven項目依賴使用。例如:
<dependency>
<groupId>com.tech4j.driver</groupId>
<artifactId>oracle-connector-java</artifactId>
<version>12.1</version>
</dependency>
我博客所有文章鏈接:http://blog.csdn.net/wabiaozia?viewmode=contents
引入自定義jar方法三:
<dependency>
<groupId>org.jasig.cas</groupId>
<artifactId>cas-server-webapp</artifactId>
<version>4.2.3</version>
<type>war</type>
<!-- 注意scope是system -->
<scope>system</scope>
<!-- <systemPath>C:/Users/ice-wee/Downloads/cas-server-webapp-4.0.3.war</systemPath> -->
<systemPath>${project.basedir}/suiyijiandewenjianjia/cas-server-webapp-4.0.3.war</systemPath>
<!-- systemPath 可以寫 1 本地路徑 也可以寫 2 項目根路徑,項目根路徑不是相對classpath 。 -->
</dependency>
3.1 Maven內置變量說明:
${basedir} 項目根目錄
${project.build.directory} 構建目錄,缺省爲target
${project.build.outputDirectory} 構建過程輸出目錄,缺省爲target/classes
${project.build.finalName} 產出物名稱,缺省爲${project.artifactId}-${project.version}
${project.packaging} 打包類型,缺省爲jar
${project.xxx} 當前pom文件的任意節點的內容
3.2 使用舉例
項目根路徑見圖:我博客所有文章鏈接:http://blog.csdn.net/wabiaozia?viewmode=contents
在項目webapp下建一個文件夾(folder):suiyijiandewenjianjia,把cas-server-webapp-4.0.3.war拷到此文件夾
總結:
用第三種方式用systemPath 打包時是不會把jar打到war中的,如果想打到war中可以使用我文中提到的前兩種方式。我們項目中一般是缺少某個jar或者某幾個jar,從簡便和速度效率的角度來說我最推薦的引入本地jar是文中提到的第二種方式。如果缺的jar多的話可以使用批量導入方式,但是並不建議這樣做,因爲缺少很多jar你首先應該考慮的是,爲什麼不把環境配好,不讓項目缺少那麼多jar。
最後:如何把本地jar一同打到war包中