2013-03-22 58 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