2013-03-22 72 views
7

我想用maven安裝JDBC連接器。我可以使用mvn install安裝mysql jdbc連接器:install-file?

我有以下幾點:MVN安裝:安裝文件-DgroupId = mysql的-DartifactId =的mysql-connnector-java的-Dversion = 5.1.6 -Dpackaging =罐子-Dfile = -DgenerationPom =真

我想所有我需要的是我放在= Dfile =的另一邊?

我還沒有在一段時間內使用maven,所以我不知道文件開關用於什麼?

感謝您的所有見解!

+1

爲什麼不使用Maven中央倉庫中的'mysql:mysql-connector-java'?無論如何,我想更願意使用'mvn deploy:deploy-file'來代替http://maven.apache.org/guides/mini/guide-3rd-party-jars-remote.html – 2013-03-22 01:16:12

+0

我可能會有得到的安裝文件與部署文件混合在一起。我基本上尋找一種方法來獲取mysql jdbc jar加載到我的Maven倉庫。我正在爲Java開發設置一臺機器,並且需要確保我能夠首先訪問mysql數據庫。 – user2197446 2013-03-22 16:23:35

回答

19

「安裝文件」或「部署文件」目標用於將工件安裝或部署到本地或內部存儲庫,而這些工件是從Maven Central或您可能已配置的其他外部存儲庫不可用的。

如果你要Maven的集中訪問,只需添加以下到項目的pom.xml:

<dependency> 
    <groupId>mysql</groupId> 
    <artifactId>mysql-connector-java</artifactId> 
    <version>5.1.6</version> 
</dependency> 

...應該做的伎倆。

要回答你的問題,-Dfile =參數用於指定實際上將安裝在本地存儲庫中的工件。

+0

基本上我打算爲計劃的項目使用maven,並希望在我的機器上只有一份mysql jdbc jar文件,並且我認爲我應該能夠使用maven命令將其拉出。我會怎麼做? – user2197446 2013-03-22 18:21:02

+0

是的,只是將它添加到您的pom.xml的上述方法將做到這一點。當它檢測到它不在你的本地Maven倉庫(在你的硬盤上)時,它會從Maven Central加載它。來自這個或那些項目的後續請求將使用該JAR。 – lotz 2013-03-22 23:00:44

+0

我已將這部分包含在我的'pom.xml'中,並且代碼從IntelliJ運行代碼時按預期工作。但是當我運行'mvn package'時,生成的jar文件仍然抱怨缺少jdbc驅動程序。有任何想法嗎? – 2016-09-26 13:41:40