我正在安装hibernate空间,以下是官方网站文档中的步骤:
http://www.hibernatespatial.org/tutorial-hs4.html
问题在于图书馆的依赖性
为什么找不到图书馆:
postgis-jdbc:jar:1.5.3:compile
在官方网站上查找此库的版本:
http://postgis.refractions.net/download/
但不可用
终端上显示的信息如下:
[warn] http://scala-tools.org/repo-releases/org/postgis/postgis-jdbc/1.5.3/postgis-jdbc-1.5.3.jar
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: org.postgis#postgis-jdbc;1.5.3: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[info]
[info] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
任何人都知道我如何解决这种依赖性
非常感谢您的关注
答案 0 :(得分:9)
似乎maven中央存储库中postgis-jdbc的最新可用版本是1.3.3。 不幸的是,在hibernate-spatial教程中声明的三个额外存储库中没有一个包含postgis-jdbc的1.5.3版本(最高版本在repo http://www.hibernatespatial.org/repository/中可用1.5.2)。
版本1.5.3未在postgis下载页面上列出,但您仍可以在此处下载:http://postgis.refractions.net/download/postgis-1.5.3.tar.gz
实用的方法是自己构建库(在postgis-1.5.3 / java / jdbc / README中描述)并手动将其添加到本地maven存储库(请参阅Maven的文档 - 我想提供网址但由于我目前的SO声誉,我不能在每个答案中发布两个以上的网址。
答案 1 :(得分:0)
您还可以告诉构建系统忽略传递依赖关系,然后明确声明您需要的版本。不确定哪个构建系统提升使用,但这是我在Play Framework中使用SBT的方式:
libraryDependencies ++= Seq(
[...]
"org.postgis" % "postgis-jdbc" % "1.5.2",
"org.hibernate" % "hibernate-spatial" % "4.0-M1" exclude("org.postgis", "postgis-jdbc")
)
您还必须添加hibernate空间回购以访问版本1.5.2
:
resolvers += (
"Hibernate Spatial Repository" at "http://www.hibernatespatial.org/repository"
)
我使用this tutorial了解了这一点,它展示了如何使用Maven做同样的事情。