Play Framework:不兼容的类型:java.util.List<models.Vehicle> 无法转换为 java.lang.String

Play Framework: incompatible types: java.util.List<models.Vehicle> cannot be converted to java.lang.String

我正在 Play framework 2.5 中尝试一个简单的视图,但我一直收到此编译时错误 java.util.List<models.Vehicle> cannot be converted to java.lang.String

我已经试过了this answer

scala.collection.immutable.List<String> ls = JavaConverters.asScalaBufferConverter(scripts).asScala().toList(); 

但是没有.toList()功能,无法识别。 这是我的代码:

Aplication.java

package controllers;

import models.Vehicle;
import play.mvc.Controller;
import play.mvc.Result;
import scala.collection.JavaConverters;

public class Application extends Controller {

    public Result index() {
    //        this does not work
    //        scala.collection.immutable.List<Vehicle> ls = JavaConverters.asScalaBufferConverter(Vehicle.finder.all()).asScala().toList();
              return ok(views.html.index.render(Vehicle.finder.all())); //here is the error
    }

}

index.scala.html

@(vehicles: java.util.List[Vehicle])

@main("Welcome to Play") {

    <header>
        <hgroup>
            <h1>Dashboard</h1>
            <h2>Vehicles</h2>
        </hgroup>
    </header>

    <ul>
    @for(vehicle <- vehicles) {
        <li>@vehicle.getModel</li>
    }
    </ul>
}

相关代码在Vehicle.java

package models;

import javax.persistence.*;
import java.util.List;
@Entity
public class Vehicle extends BaseEntity {

    public static Finder<Long, Vehicle> finder = new Finder<Long, Vehicle>(Vehicle.class){};
    @Column(nullable = false)
    String model;

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }
}

非常感谢任何帮助。

好的,万一以后有人发现这个,试试

activator clean compile

在您的项目文件夹中。

只做 compile 根本没有帮助。