【问题标题】:Play Framework using Spring data使用 Spring 数据播放框架
【发布时间】:2015-08-01 04:30:01
【问题描述】:

使用 activator (play 2.0),我创建了一个基础 java 项目。我现在想开始使用 jpa 和 spring 数据而不是 ebean。我在 build.sbt 文件中添加了以下依赖项(取自 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 中的引用库,我看到了 ref。到 spring 上下文、核心和 bean .... 但没有对 spring 数据的引用,这解释了错误。

但是为什么我的项目中没有包含依赖项?

谢谢

【问题讨论】:

  • 你添加spring-data-jpa依赖后是否在激活器中使用了reload命令?
  • 无效 - 仍然是相同的结果 - 缺少依赖项
  • 使用 'dependencies' 看看当它试图解析那个 jar 时会发生什么。如果它在那里,那么您可能需要运行eclipse 命令来重新生成项目文件。
  • 越来越近了....重新运行 eclipse 命令可以解决问题..我现在看到 spring-data 和相关的 spring 库进来了。但是,eclipse 仍然给出 SpringDataJpaConfiguration.class 不能的错误被发现...我是否缺少依赖项?
  • 如果你可以在activator中编译,那么它仍然是一个Eclipse级别的问题(我是IntelliJ用户,所以我不能对此发表更多评论)。

标签: playframework-2.0 sbt spring-data-jpa typesafe-activator


【解决方案1】:

在激活器中:

  1. 更改依赖关系后使用reload 命令。
  2. 使用dependencies 命令确保可以解决依赖关系。
  3. 使用eclipse 命令重新生成 eclipse 项目,让 IDE 中的新依赖项可见。

我不确定 Eclipse 是否可以像 IntelliJ 一样直接打开基于 sbt 的项目,但这值得一试。

【讨论】:

    猜你喜欢
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-22
    相关资源
    最近更新 更多