1

Play2.0.2に移行しようとしているPlay1.2.4アプリがあります。私は現在、Play1.2.4に次のような構造を持っています。

Webサイトはフロントエンドに依存カタログはフロントエンドに依存フロントエンドは依存(ビューのコンパイル時に定義されるルートファイル)

フロントエンドには、Webサイトとカタログの両方で使用される一連のビューが含まれています。この決定は、カタログが非常に軽量で、フロントエンドの迅速な開発に使用されるために行われました。ウェブサイトにはもっと多くのコードがあり、コーディング/コンパイル/テストに時間がかかります。

循環依存関係があるため、http: //www.playframework.org/documentation/2.0/SBTSubProjectsで説明されているようなサブプロジェクトとして、これらのプロジェクトをセットアップすることはできません。ビューはAsset.ofを使用しますが、これにはルートファイルを定義する必要があります。ただし、Webサイトとカタログはそれぞれルートファイルを定義し、Play 2.0は依存関係からのルートファイルをサポートしていません(これはPlay 2.1で提供されることになっています)。また、カタログでは、ビューはコントローラーで参照されます。

フロントエンドのビルドロジックを変更してビューをコンパイルしようとせず、代わりにそれらを含むアーティファクトを公開できれば、Webサイトとカタログでそれらのアーティファクトを定義するビューに追加して一緒にビルドできると考えていました。これは私が持っている循環依存を壊すでしょう。

他の誰かが以前にこれをしたことがありますか?私はSBTの初心者であり、これが可能かどうかさえわかりません。Build.scalaファイルを変更してビューのコンパイルを停止し、代わりにエクスポートする方法を教えてもらえますか?これをSBTプラグインにするのは理にかなっていますか?これを行う方法を示すコードを知っている場合は、コードへのリンクを投稿できますか?

4

1 に答える 1

0

play new を使用して 2 つのプロジェクトを作成しました。LDAPInterface は、複数のアプリケーションで使用したいと考えていた LDAP へのインターフェースでした。2 番目のプロジェクトは Access Manager でした。AccessManager\project\build.scala ファイルでは、LDAPInterface プロジェクトを使用するために、このように構造化しました。Eclipse では、デバッグできるように、プロジェクトの依存関係セクションに LDAPInterface を含めました。いつでもjarファイルをコンパイルしてそれを含めることができますが、Eclipse内のプロジェクトの依存関係をドリルダウンしたい場合にはあまり適していません。play.Project を使用すると、Web プロジェクトとして認識されました。Project を使用しただけでは、それがコンソール アプリケーションであると認識されていたようです。

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

object LDAPInterface {
  lazy val depProject = RootProject(file("../LDAPInterface"))
}

object ApplicationBuild extends Build {

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

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

   //   lazy val root = Project(id = "AccessManager",
    //  base = file(".")
    //).dependsOn(LDAPInterface.depProject)



  lazy val main = play.Project(appName, appVersion, appDependencies).settings(
   //  Add your own project settings here      
  ).dependsOn(LDAPInterface.depProject)
}
于 2013-04-02T14:42:10.430 に答える