由于種種原因羞芍,簡書等第三方平臺博客不再保證能夠同步更新痢站,歡迎移步 GitHub:https://github.com/kingcos/Perspective/乏德。謝謝!
注:
Maven 對于 JAR 的導(dǎo)入提供了巨大便利啸驯,
然而有些 JAR 包卻因為各種原因不存在于各大倉庫之中,
本文即是對 Maven 官網(wǎng)的教程翻譯祟峦,
希望可以幫到同樣困惑的人罚斗。
- PS:
- Maven,名詞宅楞,譯作專家针姿,內(nèi)行袱吆。在程序設(shè)計開發(fā)中,Maven 是一個較為強大但依賴網(wǎng)絡(luò)的項目管理工具距淫。
- 本文英語原文引自 Apache Maven 官網(wǎng)中的 Guide to installing 3rd party JARs绞绒。
- Last Published: 2016-07-09
- 最新發(fā)行時間:2016 年 7 月 9 日
[翻譯]安裝第三方 JAR 向?qū)?/h2>
盡管很少發(fā)生,但有時會有第三方的 JAR榕暇,想要放入本地倉庫為自己的構(gòu)建使用蓬衡,這是因為這些 JAR 不存在于任何公共倉庫,例如 Maven 中心(倉庫)彤枢。JAR 必須被放置在本地倉庫的正確位置狰晚,這樣才能被 Apache Maven 獲取到。
為使得這一過程更加簡單缴啡,且不易出錯壁晒,我們已提供了相對簡單的 Maven-安裝-插件。在本地倉庫安裝 JAR 使用以下命令:
mvn install:install-file -Dfile=<JAR 文件路徑> -DgroupId=<組-id> \
-DartifactId=<工件-id> -Dversion=<版本> -Dpackaging=<包>
如果也含有 pom 文件业栅,你可以使用以下命令:
mvn install:install-file -Dfile=<JAR 文件路徑> -DpomFile=<pom 文件路徑>
使用 Maven-安裝-插件 v2.5 使得安裝 JAR 更加簡單秒咐。如果那個 JAR 文件由 Apache Maven 構(gòu)建,其在 META-INF 的子目錄下還包括一個 pom.xml 文件式镐,它將被默認(rèn)讀入反镇。在這種情形下,你只需要這么做:
mvn install:install-file -Dfile=<JAR 文件路徑>
[Demo]導(dǎo)入本地 ojdbc6.jar
- Info:
- JDK 1.8
- Intellij IDEA
前言
由于目前使用的數(shù)據(jù)庫是 Oracle XE娘汞,所以在 Java 項目中需要導(dǎo)入其驅(qū)動包 ojdbc6.jar歹茶。而由于該 JAR 許可證過期,所以無法直接在 Maven 項目中導(dǎo)入你弦。所以做此測試惊豺,驗證該向?qū)欠窨尚校纯雌渲杏心居惺裁纯印?/p>
Run
下載 ojdbc6.jar
按要求做出命令
如果在命令行禽作,可以直接使用以下形式(注意將部分替換為你所要導(dǎo)入 JAR 的信息):
mvn install:install-file -Dfile=/Users/kingcos/Downloads/ojdbc6.jar -DgroupId=com.oracle \
-DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar
如果在 IDEA 配置中尸昧,第一行的 \\
需要刪除,即:
mvn install:install-file -Dfile=/Users/kingcos/Downloads/ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar
在 IDEA 右側(cè)找到 Maven Projects
點擊 Maven Projects 菜單中的命令行按鈕
輸入剛才的命令并運行旷偿,查看下方區(qū)域是否顯示 BUILD SUCCESS
如果出現(xiàn)失敗烹俗,要排查上述各項命令是否正確。
如果成功萍程,即可在 pom.xml 中加入你剛剛導(dǎo)入的 JAR幢妄。
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
測試
其實我們找到本地的 maven 倉庫,看看需要的 JAR 在不在就可以了茫负,如下圖蕉鸳,我的 ojdbc6.jar 已經(jīng)成功導(dǎo)入本地 maven 倉庫。
不過,我也在這里寫了一個小的測試方法潮尝,即測試連接數(shù)據(jù)庫后榕吼,將查詢結(jié)果打印,運行成功且輸出正確勉失,來測試剛才的配置是否正確羹蚣。(本機測試成功)
測試類:App.java(由于直接測試,這里沒有更改該類名)
注意:將連接數(shù)據(jù)庫的代碼即 SQL 語句替換為自己數(shù)據(jù)庫的設(shè)置戴质。
package com.maimeing;
import java.sql.*;
public class App {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement pstm = null;
ResultSet rs = null;
try {
Class.forName("oracle.jdbc.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "demo", "123456");
String sql = "select count(*) from person";
pstm = conn.prepareStatement(sql);
rs = pstm.executeQuery();
while (rs.next()) {
System.out.println(rs.getInt(1));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
rs.close();
pstm.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}