Play框架、Java和EclipseLuna
我是个新手 我已经下载了2.5的最新版本,希望用Java开发示例应用程序。Java版本是8 我想使用EclipseIDE。为此,我在plugins.sbt中进行了必要的设置 但我得到了类似“索引无法解析”的错误 如果我做了一些小的更改或添加了另一个类,那么就会出现其他几个错误 我将遵循以下步骤:Play框架、Java和EclipseLuna,java,eclipse,playframework,Java,Eclipse,Playframework,我是个新手 我已经下载了2.5的最新版本,希望用Java开发示例应用程序。Java版本是8 我想使用EclipseIDE。为此,我在plugins.sbt中进行了必要的设置 但我得到了类似“索引无法解析”的错误 如果我做了一些小的更改或添加了另一个类,那么就会出现其他几个错误 我将遵循以下步骤: activator新应用程序 在plugin.sbt中添加“addSbtPlugin”(“com.typesafe.sbteclipse”%”sbteclipse plugin“%”4.0.0“) 编制
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."));
}
}
请建议我们如何配置play框架和Eclipse 更新:只需升级到
sbteclipse
版本5.1.0
,一切都将开箱即用
您是否遵循了上的文档 确保已将以下行添加到
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项目(添加上述设置后),请立即执行以下步骤:
target/scala-2.11/classes\u managed/
——如果不存在,请创建它。(在sbteclipse 5.1.0中固定)sbt eclipse
或activator eclipse
sbt run
/activator run
运行项目。访问应用程序后,错误应该消失(可能需要右键单击并点击“刷新”或使用“F5”键在eclipse中刷新项目)。为什么?因为现在路由和视图(例如,index.scala.html
)已经编译,eclipse现在可以引用它的类文件了sbt eclipse
/activator eclipse
时,存在target/scala-2.11/classes\u managed/
文件夹,因此它将包含在eclipse类路径(.classpath
文件)中。就我个人而言,我将一个.gitkeep
文件放在这个文件夹中,并将其提交到git repo中,因此我总是能看到该文件夹是否被删除(但只有这个.gitkeep
文件!你永远不应该将目标
文件夹或其任何内容提交到git repo中!!!这只是个人的解决办法。)。(在sbteclipse 5.1.0中固定)
提示:
您还可以添加更多eclipse设置以使开发更容易:
EclipseKeys.withSource := true // downloads the source of all dependencies
EclipseKeys.withJavadoc := true // downloads javadoc of dependencies
不要,露娜,去霓虹灯。索引应该解决什么问题?在一个名为
index
的方法中,它最多只能解决自身问题。我更新了我的答案:只需升级到sbteclipse 5.1.0版,现在一切都可以正常工作了。谢谢mkurz。问题解决了。手动创建文件夹“classes_managed”。我更新了答案:只需升级到sbteclipse 5.1.0版,就不需要再手动创建文件夹了。