2016-07-05 59 views
2

我工作的一個PlayFramework MVC的Java應用程序,但是當我做import models.Board;我得到一個編譯錯誤說:無法導入Java類與PlayFramework

error: cannot find symbol 
[error] import models.Board; 
[error]   ^
[error] (compile:compileIncremental) javac returned nonzero exit code 

我已經通過與此相關的所有問題StackOverflow上了錯誤,但他們都沒有解決我的問題。這是我的Application.java以下相關代碼:

package controllers; 

import models.Board; 

import play.mvc.*; 
import views.html.*; 

public class Application extends Controller { 

    Board board; 

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

這裏是我的build.sbt

name := """AI-tic-tac-toe""" 

version := "1.0-SNAPSHOT" 

lazy val root = (project in file(".")).enablePlugins(PlayJava) 

crossPaths := false 
autoScalaLibrary := false 

scalaVersion := "2.11.7" 

libraryDependencies ++= Seq(
    javaJdbc, 
    cache, 
    javaWs 
) 

該文件位於控制器文件夾,Board.java位於模型文件夾中,兩者的這些文件夾位於同一個應用文件夾中。任何幫助,爲什麼這個錯誤發生將不勝感激。

這是我的目標目錄:

target directory screenshot

+0

你能告訴我們你的'build.sbt'嗎? – Martijn

+1

此外,請嘗試如果問題仍然存在'sbt清潔運行'後。 Intellij有時會感到困惑,SBT更準確。如果SBT也出現錯誤,您可以發佈輸出嗎? – Martijn

+0

好吧,我跑了命令,並得到了'[錯誤] {file:/ usr/bin /} default-cf1fd7/compile:run:沒有檢測到主類。「但是我運行了命令從我的usr/bin,因爲那是sbt是,我是否需要在我的PlayFramework文件夾中運行它? – easiestripes

回答

0

想通了我的問題,當然這是最簡單的事情。我會發布我所做的,以防萬一遇到類似的問題。

所以最終結果是我沒有把package models;放在我的Board.java文件的頂部。不幸的是,Play並沒有給出類似的更好的錯誤信息。