2013-12-06 1 views
3

У меня есть проблема с использованием базы данных я собирался с этим руководством http://vimeo.com/58969923# (один из playframework.com страницы) в модели:playframework - пакет javax.persistence не существует

плей-2.2.1/jcirs/приложение/модели/MedicalIncident.java

общественного класса MedicalIncident расширяет модель {}

Я пытаюсь использовать Entity. Для этого мне нужно импортировать: javax.persistence. * И play.db.ebean. * , но ни один из них не найден. Ошибка

пакет javax.persistence не существует

Что я должен делать? Использовать любой другой движок базы данных? Или нужно загрузить некоторую зависимость. Я бы хотел пойти с playframework наилучшим образом. Пожалуйста, помогите.

Моя конфигурация application.conf:

db.default.driver=org.h2.Driver 
db.default.url="jdbc:h2:mem:play" 
ebean.default="models.*" 

трассировки стека:

[jcirs] $ run 8081 

--- (Running the application from SBT, auto-reloading is enabled) --- 

[info] play - Listening for HTTP on /0:0:0:0:0:0:0:0:8081 

(Server started, use Ctrl+D to stop and go back to the console...) 

[info] Compiling 5 Scala sources and 5 Java sources to /home/daniel/play-2.2.1/jcirs/target/scala-2.10/classes... 
[error] /home/daniel/play-2.2.1/jcirs/app/models/MedicalIncident.java:4: error: package javax.persistence does not exist 
[error] import javax.persistence.*; 
[error]^
[error] /home/daniel/play-2.2.1/jcirs/app/models/MedicalIncident.java:6: error: package play.db.ebean does not exist 
[error] import play.db.ebean.*; 
[error]^
[error] /home/daniel/play-2.2.1/jcirs/app/models/MedicalIncident.java:14: error: cannot find symbol 
[error] public class MedicalIncident extends Model { 
[error]         ^
[error] symbol: class Model 
[error] /home/daniel/play-2.2.1/jcirs/app/models/MedicalIncident.java:13: error: cannot find symbol 
[error] @Entity 
[error]^
[error] symbol: class Entity 
[error] /home/daniel/play-2.2.1/jcirs/app/models/MedicalIncident.java:15: error: cannot find symbol 
[error]  @id 
[error] ^
[error] symbol: class id 
[error] location: class MedicalIncident 
[error] /home/daniel/play-2.2.1/jcirs/app/controllers/MedicalIncident.java:21: error: cannot find symbol 
[error]   MedicalIncident medical_incident = Form.form(MedicalIncident.class).bindFormRequest().get(); 
[error]           ^
[error] symbol: variable Form 
[error] location: class MedicalIncident 
[error] 6 errors 
[error] (compile:compile) javac returned nonzero exit code 
[error] application - 

! @6gfjpj0cf - Internal server error, for (GET) [/] -> 

play.PlayExceptions$CompilationException: Compilation error[error: package javax.persistence does not exist] 
     at play.PlayReloader$$anon$1$$anonfun$reload$2$$anonfun$apply$14$$anonfun$apply$16.apply(PlayReloader.scala:304) ~[na:na] 
     at play.PlayReloader$$anon$1$$anonfun$reload$2$$anonfun$apply$14$$anonfun$apply$16.apply(PlayReloader.scala:304) ~[na:na] 
     at scala.Option.map(Option.scala:145) ~[scala-library.jar:na] 
     at play.PlayReloader$$anon$1$$anonfun$reload$2$$anonfun$apply$14.apply(PlayReloader.scala:304) ~[na:na] 
     at play.PlayReloader$$anon$1$$anonfun$reload$2$$anonfun$apply$14.apply(PlayReloader.scala:298) ~[na:na] 
     at scala.Option.map(Option.scala:145) ~[scala-library.jar:na] 
[warn] play - No application found at invoker init 
+0

Не могли бы вы добавить трассировку стека? Или это ошибка только в среде IDE? Вы пытались запустить его из командной строки? –

+0

Это случилось и в командной строке. – masterdany88

ответ

3

Вы обновили свои зависимости проекта в Build.scala? Не уверен, что если что-то изменилось в Play 2.2.1, но для воспроизведения 2.1.3 зависимостей в Build.scala будет выглядеть следующим образом:

val appDependencies = Seq(
    javaCore, 
    javaJdbc, 
    javaEbean 
) 

EDIT: После того, как вы обновите зависимости в Build.scala не забудьте обновить зависимости в IDEA или Eclipse, выполнив соответствующую команду воспроизведения, например

play idea 
+0

Это помогло. благодаря – masterdany88

0

Playframework создающего IDEA определенные файлы при запуске "играть идею" (если вы используете Eclipse, запустить «play eclipse»). Если вы импортировали проект таким же образом, как объяснено в учебнике, у вас должны быть необходимые JAR, уже доступные в проекте.

Если он все еще не работает, проверьте, правильно ли IDEA присвоил JDK вашему проекту.

Попытайтесь понять, что делает этот фреймворк под капотом, не просто пытайтесь заставить его работать и игнорировать важные вещи.

+0

Я запустил игру в своем проекте dir , тогда я запустил эту команду idea with-sources = yes , поэтому я воевал со всем этим, потому что ошибок не было – masterdany88

+0

Должен ли я повторять команду idea with-sources = yes – masterdany88

+0

Повторный запуск не помог. То же самое ... – masterdany88

0

У меня была такая же проблема, и я использовал Eclipse. Я включил @Entity, например. и в моей консоли проекта я набрал eclipse with-source=true. После «Обновить» в моем проекте Eclipse, и «чистой», это приносит мне все баночки и потом я нажал на вопрос и IDE предлагается возможность включить javax.persistence.*, play.db.ebean.Model и т.д.

0

у меня было то же самое при использовании сильно модифицированной версии Eclipse Neon.
Ключ к его решению для меня состоял в том, что единственное место, где я видел ошибки, было во время сборки Maven. Eclipse IDE удалось скомпилировать и запустить программу просто отлично.
Мне удалось решить эту проблему, добавив пару зависимостей в файл pom.xml проекта. См. Ниже код xml для зависимостей.
Мне удалось получить версии groupId и artifactId, свернув каталоги на Maven Central. Я просто шел по дереву, пока не нашел файлы metadata.xml для persistence.core и артефактов persistence.jpa.

<dependency> 
     <groupId>org.eclipse.persistence</groupId> 
     <artifactId>org.eclipse.persistence.core</artifactId> 
     <version>2.6.4</version> 
     <scope>compile</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.eclipse.persistence</groupId> 
     <artifactId>org.eclipse.persistence.jpa</artifactId> 
     <version>2.6.4</version> 
     <scope>compile</scope> 
    </dependency> 

 Смежные вопросы

  • Нет связанных вопросов^_^