gpt4 book ai didi

playframework - 为什么 PlayFramework 只有 "eclipse"一个子模块?

转载 作者:行者123 更新时间:2023-12-03 22:40:11 26 4
gpt4 key购买 nike

使用 Play Framework 2.1.1-RC1,我将一个项目分成多个模块,如下所示:

object ApplicationBuild extends Build {

val appName = "Project"
val appVersion = "1.0"

val appDependencies = Seq(
// Add your project dependencies here,
javaCore,
javaJdbc,
javaEbean,
"mysql" % "mysql-connector-java" % "5.1.18"
)

lazy val common = play.Project(
appName + "-common", appVersion, appDependencies, path = file("modules/common")
).settings(
publishArtifact in(Compile, packageDoc) := false
)

lazy val website = play.Project(
appName + "-website", appVersion, appDependencies, path = file("modules/website")
).dependsOn(common).aggregate(common).settings(
requireJs += "app.js",

publishArtifact in(Compile, packageDoc) := false
)

lazy val api = play.Project(
appName + "-api", appVersion, appDependencies, path = file("modules/api")
).dependsOn(common).aggregate(common).settings(
publishArtifact in(Compile, packageDoc) := false
)

val main = play.Project(appName, appVersion, appDependencies).settings(
publishArtifact in(Compile, packageDoc) := false
).dependsOn(website, api).aggregate(website, api)
}

所以,当我调用 play eclipse 时,它应该使所有三个子模块都消失,但只编译第一个,你知道为什么吗?

这是游戏的转储:

$ /opt/play/2.1.1-RC1/play eclipse
[info] Loading project definition from /mnt/data/dev/perso/Project/project
[info] Set current project to Project (in build file:/mnt/data/dev/perso/Project/)
[info] About to create Eclipse project files for your project(s).
[info] Updating {file:/mnt/data/dev/perso/Project/}Project-common...
[info] Resolving org.hibernate.javax.persistence#hibernate-jpa-2.0-api;1.0.1.Fin [info] Done updating.
[info] Compiling 27 Java sources to /mnt/data/dev/perso/Project/modules/common/target/scala-2.10/classes...
[info] Successfully created Eclipse project files for project(s):
[info] Project-common
$

为什么?有什么理由吗?

如果我运行该项目,一切正常,每个模块都正常工作。

我错过了什么?

最佳答案

好的,@Stijn 来自 Google Group discussion 的一个很好的指示PlayFramework,我找到了解决方案。

使用 PlayFramework documentation ,您有两种构建所有子模块的选择:

选项 1:

进入 play 控制台,然后调用 eclipse skip-parents=false :

$ /path/to/playframework/play
[PlayProject] $ eclipse skip-parents=false

警告!在 play console 之外执行此操作不起作用:

$ /path/to/playframework/play eclipse skip-parents=false
> [error] Not a valid key: skip-parents (similar: ivy-paths)
> [error] skip-parents=false

选项 2:

修改 Build.scala :

import com.typesafe.sbteclipse.core.EclipsePlugin.EclipseKeys

object ApplicationBuild extends Build {

override def settings = super.settings ++ Seq(
EclipseKeys.skipParents in ThisBuild := false
)

...

}

不要忘记导入 EclipseKeys!

希望这对您有所帮助!

关于playframework - 为什么 PlayFramework 只有 "eclipse"一个子模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15547786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com