2016-07-10 2 views
2

Я новичок в игре.Play Framework, Java и Eclipse Luna

Я скачал последнюю версию 2.5 и хочу разработать образец приложения на Java. Java Version is 8

Я хочу использовать Eclipse IDE. для этого я сделал необходимую настройку в plugins.sbt

Но я получаю ошибку, как «индекс не может быть разрешен».

Если я делаю небольшие изменения или добавляю другой класс, тогда началось несколько других ошибок.

Я, выполнив следующие действия:

  1. активатор новый newApp
  2. добавить "addSbtPlugin (" com.typesafe.sbteclipse "% "sbteclipse-плагин" % "4.0.0")" в плагин .sbt
  3. скомпилировать проект
  4. Импорт проекта в Eclipse,

После того, что я получаю ошибку «индекс не может быть решен» в ниже код: Я также пробовал с чистым проектом перекомпилировать и закрыть & открытый проект в Eclipse. Но проблема остается такой же.

package controllers; 

import play.mvc.*; 

import views.html.*; 

/** 
* This controller contains an action to handle HTTP requests 
* to the application's home page. 
*/ 
public class HomeController extends Controller { 

    public Result index() { 
     return ok(index.render("Your new application is ready.")); 
    } 

} 

Просьба предложить нам настроить платформу воспроизведения и Eclipse.

+0

Dont Luna, пойти Neon. – GhostCat

+0

Что нужно сделать * to index to? Внутри метода с именем 'index' он собирается в лучшем случае решить проблему. – nitind

+0

Я обновил свой ответ: просто обновите версию sbteclipse 5.1.0, и теперь все должно работать. – mkurz

ответ

1

Обновление: Обновление до sbteclipse версии 5.1.0 и все должно работать из коробки.


Вы следили за документацией по номеру how to setup sbteclipse?

Убедитесь, что вы добавили следующие строки в build.sbt:

// Compile the project before generating Eclipse files, so that generated .scala or .class files for views and routes are present 
EclipseKeys.preTasks := Seq(compile in Compile, compile in Test) 

// The next two lines have to be REMOVED in case you switch to Scala IDE 
EclipseKeys.projectFlavor := EclipseProjectFlavor.Java // Java project. Don't expect Scala IDE 
EclipseKeys.createSrc := EclipseCreateSrc.ValueSet(EclipseCreateSrc.ManagedClasses, EclipseCreateSrc.ManagedResources) // Use .class files instead of generated .scala files for views and routes 

Чтобы перегенерированы проект Eclipse (после того, как вы добавили выше настройки) следить за этим шаги в настоящее время:

  1. В затмение права нажмите на свой проект, а затем выберите «Закрыть проект», чтобы закрыть проект.
  2. Теперь убедитесь, что в ваших проектах существует папка target/scala-2.11/classes_managed/ - если это не так: создайте ее. (исправлено в sbteclipse 5.1.0)
  3. Run sbt eclipse или activator eclipse
  4. Теперь вы можете повторно открыть свой проект в затмении (или реимпорта, если вы хотите)
  5. Вы еще увидите сообщение об ошибке. Идем дальше и запускаем проект через sbt run/activator run. После того, как вы получили доступ к приложению, ошибки должны исчезнуть (возможно, вам нужно щелкнуть правой кнопкой мыши и нажать «Обновить» или использовать клавишу «F5», чтобы обновить проект в eclipse). Зачем? Поскольку теперь маршруты и представления (например, index.scala.html) были скомпилированы, и теперь eclipse может ссылаться на свои файлы классов.

Ключ в том, что во время запуска sbt eclipse/activator eclipse папка target/scala-2.11/classes_managed/ существует так он будет включен в затмение (классам .classpath файл). Лично я поместил файл .gitkeep в эту папку и передал его в репозиторий git, поэтому я всегда вижу, была ли удалена папка (но JUST this .gitkeep файл! Вы никогда не должны фиксировать папку или любое ее содержимое в репозиторий git! Это просто личное решение.). (исправлено в sbteclipse 5.1.0)

Совет: Вы можете также добавить дополнительные параметры затмения, чтобы сделать разработку проще:

EclipseKeys.withSource := true // downloads the source of all dependencies 
EclipseKeys.withJavadoc := true // downloads javadoc of dependencies 
+0

Спасибо mkurz. Проблема решена. Папка «classes_managed» создается вручную. – user2678475

+0

Я обновил свой ответ: просто обновите версию sbteclipse версии 5.1.0, и вам больше не нужно будет создавать папку вручную. – mkurz