2016-07-05 6 views
2

Я работаю над приложением Java PlayFramework MVC, но когда я делаю 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 clean run'. Intellij иногда путается, а SBT более точна. Если SBT также дает ошибку, можете ли вы опубликовать вывод? – Martijn

+0

Итак, я запустил команду и получил '[error] {файл:/usr/bin /} default-cf1fd7/compile: run: не обнаружен основной класс.« Но я запустил команду из моего usr/bin, потому что это где sbt есть, мне нужно запустить его в моей папке PlayFramework? – easiestripes

ответ

0

Разобрался мою проблему, конечно, это было самое простое. Я опубликую то, что я сделал, на случай, если кто-нибудь столкнется с подобной проблемой.

Так что все это закончилось тем, что я не положил package models; в начало моего Board.java файла. К сожалению, Play не дает лучшего сообщения об ошибке для чего-то подобного.

Смежные вопросы