首页 > 解决方案 > 包 io.ebean 不存在 Play Framework 2.7

问题描述

因此,我正在尝试按照 Radix Code 的教程使用 mySQL 和 Play Framework 2.7x 版创建数据库。我阅读了Play Framework Tutorial #21|这一集。启用 Ebean ORM 和 JDBC 支持,我们实现 Ebean 以将其连接到 wamp 和 MySql。我知道他在视频中使用的版本已经过时,并且我使用了更新的软件包,并且还与其他人的代码进行了比较,包括 Radix'own,但仍然有错误

[错误] C:\Users\Documents\GitHub\play-java-hello-world-tutorial\app\models\Escuela.java:4:1: 包 io.ebean 不存在 [错误] 导入 io.ebean.* ;

这是我的插件的摘要

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.7.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-play-enhancer" % "1.2.2")
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "4.0.6")

这是我的 build.sbt 的片段

version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava, PlayEbean)

scalaVersion := "2.12.8"

libraryDependencies ++= Seq(

jdbc,

javaJdbc,

guice,

cache,

javaWs,

"mysql" % "mysql-connector-java" % "5.1.41",

"org.avaje" % "ebean" % "2.7.3",

"javax.persistence" % "persistence-api" % "1.0.2"

)

我也试过没有"org.avaje" % "ebean" % "2.7.3",and

"javax.persistence" % "persistence-api" % "1.0.2"

对于我的 application.conf 我有以下内容:

ebean.default = ["models.*"]

play.evolutions {

  db.default.enabled = true

}

我有两个模型,我怀疑这可能是问题所在。我还在学习 Sql,所以我想创建 2 个表,但它们用一个外键连接(这是另一个表的主键)。否则它们的功能相同。当然,我仍在使用哈希集而不是实际的数据库表。我一次只编辑一个模型,所以这个错误只出现在一个模型上。在模型类中,我有以下内容:

package models;

import java.util.Set;

import java.util.HashSet;

import io.ebean.*;

我没有将模型库扩展到我的班级,所以它只是:

public class Escuela  { ... }

*附加信息:即使我有 Eclipse,我正在通过 Visual Studio 代码编辑所有内容。我也在使用 hello world 模板并对其进行编辑,所以这也可能是一个问题。

标签: javaplayframeworkebeanplay-framework-2.7

解决方案


编辑:您是否运行了 SBTupdate命令来下载依赖项?


不是Play Framework用户,但是我正在查看Play EBean文档,这就是我发现的。会不会和版本兼容性有关?

在此处输入图像描述

此外,如EBean文档中所述,您可能需要添加

libraryDependencies += "io.ebean" % "ebean" % "11.22.10"

但是在这一点上我不确定,正如Play Framework网站所说

Play 带有 Ebean ORM。要启用它...


推荐阅读