如何创建播放框架子项目? (玩#播放java_2.9.2; 2.1 RC3:未找到)(How t

2019-08-08 18:11发布

我想测试如何分项目的工作,特别是如何的routes子项目都考虑到主要的项目( 在此之前是不可见的 )。

我已经在这里阅读文档: https://github.com/playframework/Play20/wiki/SBTSubProjects

我做了什么:(下载播放2.1 RC3后)

  1. 创建新的Java项目: play new MainProject
  2. 创建内部MainProject新文件夹: modules
  3. 创建新的Java项目: play new SubProject

在这两个项目: play eclipse ,因为play eclipsify不工作了

在主要项目Build.scala文件:

import sbt._
import Keys._
import play.Project._

object ApplicationBuild extends Build {

  val appName         = "MainProject"
  val appVersion      = "1.0-SNAPSHOT"

  val appDependencies = Seq(
    // Add your project dependencies here,
    javaCore,
    javaJdbc,
    javaEbean 
  )

  val subProject = Project("subproject", file("modules/SubProject"))

  val main = play.Project(appName, appVersion, appDependencies).settings(
    // Add your own project settings here      
  ).dependsOn(subProject)

}

现在,在主体工程我运行:

play run

我也得到了以下错误:

[error] (MainProject/*:update) sbt.ResolveException: unresolved dependency: play#play_2.9.2;2.1-RC3: not found
[error] unresolved dependency: play#play-java_2.9.2;2.1-RC3: not found
[error] unresolved dependency: play#play-java-jdbc_2.9.2;2.1-RC3: not found
[error] unresolved dependency: play#play-java-ebean_2.9.2;2.1-RC3: not found
[error] unresolved dependency: play#play-test_2.9.2;2.1-RC3: not found

请注意我试图删除Build.scala从子项目,但我KEP收到此错误。

我究竟做错了什么?

Answer 1:

最后得到它的工作:

  • 您不必删除Build.scala从子项目。

您需要重命名子项目的路径文件。 在我的例子,来subProject.routes 。 如果你想运行在隔离的子项目需要声明的路由必须解决您subProject.routes。 因此,在添加此application.conf您的子项目:

application.router=subProject.Routes

在您的主项目,你需要从子项目导入路线:

->  /subProject               subProject.Routes

而主体工程的构建文件应该是这个样子:例子是SCALA但小号

import sbt._
import Keys._
import play.Project._

object ApplicationBuild extends Build {

  val appName         = "MainProject"
  val appVersion      = "1.0-SNAPSHOT"

  val appDependencies = Seq(
    // Add your project dependencies here,
   javaCore,
   javaJdbc,
   javaEbean 
  )

  val subProject = play.Project(
    appName + "-subProject", appVersion, path = file("modules/SubProject")
  )

  val main = play.Project(appName, appVersion, appDependencies).settings(
    // Add your own project settings here      
  ).dependsOn(subProject)

}


Answer 2:

我发现,我不得不阶版本明确设置为2.10.0,因为子项目导致与2.9.2冲突。

val main = play.Project(appName, appVersion, appDependencies).settings(
    scalaVersion := "2.10.0"
)

从拍摄的实施例这一问题 。



文章来源: How to create sub projects in Play Framework? (play#play-java_2.9.2;2.1-RC3: not found)