Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Play框架、Java和EclipseLuna_Java_Eclipse_Playframework - Fatal编程技术网

Play框架、Java和EclipseLuna

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“) 编制

我是个新手

我已经下载了2.5的最新版本,希望用Java开发示例应用程序。Java版本是8

我想使用EclipseIDE。为此,我在plugins.sbt中进行了必要的设置

但我得到了类似“索引无法解析”的错误

如果我做了一些小的更改或添加了另一个类,那么就会出现其他几个错误

我将遵循以下步骤:

  • activator新应用程序
  • 在plugin.sbt中添加“addSbtPlugin”(“com.typesafe.sbteclipse”%”sbteclipse plugin“%”4.0.0“)
  • 编制项目
  • 在Eclipse中导入项目
  • 之后,我在以下代码中遇到错误“索引无法解决”: 我还尝试过在Eclipse中使用clean项目重新编译和关闭&打开项目。但问题依然存在

    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项目(添加上述设置后),请立即执行以下步骤:

  • 在eclipse中,右键单击您的项目,然后选择“CloseProject”关闭项目
  • 现在,请确保项目中存在文件夹
    target/scala-2.11/classes\u managed/
    ——如果不存在,请创建它。(在sbteclipse 5.1.0中固定)
  • 运行
    sbt eclipse
    activator eclipse
  • 现在,您可以在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版,就不需要再手动创建文件夹了。