使用activator (play 2.0),我创建了一个基本java项目。现在我想开始使用jpa和spring数据,而不是ebean。我在构建中添加了以下依赖项(取自typesafe-play-spring-data-jpa项目)。当我运行项目时,我看到正在下载spring数据依赖项。
build.sbt
name := """my-project"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava)
scalaVersion := "2.11.1"
libraryDependencies ++= Seq(
javaCore,
javaJpa,
"org.springframework" % "spring-context" % "3.2.2.RELEASE",
"javax.inject" % "javax.inject" % "1",
"org.springframework.data" % "spring-data-jpa" % "1.3.2.RELEASE",
"org.hibernate" % "hibernate-entitymanager" % "3.6.10.Final",
"mysql" % "mysql-connector-java" % "5.1.18",
"org.mockito" % "mockito-core" % "1.9.5" % "test"
)
[info] Resolving org.hibernate.javax.persistence#hibernate-jpa-2.0-api;1.0.1.Final ...
[info] Resolving javax.inject#javax.inject;1 ...
[info] Resolving org.springframework.data#spring-data-jpa;1.3.2.RELEASE ...
[info] Resolving org.springframework.data#spring-data-commons;1.5.1.RELEASE ...
[info] Resolving org.springframework#spring-orm;3.1.4.RELEASE ...
[info] Resolving org.springframework#spring-jdbc;3.1.4.RELEASE ...
[info] Resolving org.springframework#spring-tx;3.1.4.RELEASE ...
[info] Resolving aopalliance#aopalliance;1.0 ...
[info] Resolving org.springframework#spring-aop;3.1.4.RELEASE ...
[info] Resolving org.springframework#spring-asm;3.1.4.RELEASE ...
[info] Resolving org.aspectj#aspectjrt;1.7.2 ...
[info] Resolving org.hibernate#hibernate-entitymanager;3.6.10.Final ...
[info] Resolving org.hibernate#hibernate-core;3.6.10.Final ...
我遇到的问题是,当尝试在Global.java
中引用时ctx.register(SpringDataJpaConfiguration.class);
我得到一个错误(在eclipse中),说明它找不到对它的引用。我查看了eclipse中的参考库,我看到了对spring上下文、核心和bean ....的参考但是没有参考spring数据,这解释了错误。
但是为什么依赖项没有包含在我的项目中?
谢谢
In activator:
- 更改依赖项后使用
reload
命令。 - 使用
dependencies
命令确保可以解决依赖项。 - 使用
eclipse
命令重新生成eclipse项目,在IDE中显示新的依赖项。
我不确定Eclipse是否可以像IntelliJ那样直接打开基于sbt的项目,但这值得检查。