0

自分で作成したモジュールを使用できません。私は次の説明のようにすべてを行います:

http://java.dzone.com/articles/writing-modules-play-2-get

ただし、機能に影響を与えるべきではない小さな変更があります。プロジェクト構造は変更せず、別のフォルダーに個別のプロジェクトを作成します。独自のモジュールを使用および作成するための手順を説明する必要があると思います。おそらく誰かが私の間違いに気付くでしょう。

play new testapp (workspace/testapp) で 1 つのプロジェクトを作成します。次に、play new testmodul (workspace/testmodul) を使用して別のプロジェクトを作成します。次に、testmodul に移動し、ルート ファイルと application.conf の内容を削除します。次に、test メソッドを使用して「Tester」というクラスを作成します。(単純な system.out) その後、testmodul-folder で「clean」、「compile」、「publish-local」を実行します。

私の理解では、モジュールは play のローカル リポジトリに公開されており、このモジュールを使用するすべてのアプリケーションは、モジュールのローカル リポジトリ バージョンにアクセスできます。

次に、testapp に移動し、Build.scala で依存関係を作成します。その後、default-Application.class に移動し、「Tester.test();」という行を追加します。次に、依存関係コマンドを実行してコンパイルを試みます。

その後、「シンボルが見つかりません」というエラーが表示されます。testapp が Tester.class を認識していないようであり、それは testapp がモジュールを認識していないことを意味します。しかし、理由はわかりません。

誰にもアイデアはありますか?

編集:おそらく、testapp の依存関係の構成を表示する必要があります。

val appDependencies = Seq(
    // Add your project dependencies here,
    javaCore
    ,javaJdbc
    ,javaEbean
    ,"testmodul" % "testmodul_2.10" % "1.0-SNAPSHOT"
  )

  val main = play.Project(appName, appVersion, appDependencies).settings(
    // Add your own project settings here   
    resolvers += "Local Play Repository" at "file://C:/play-2.1.0/repository/local"   
  )
4

2 に答える 2

0

上記の解決策が正しくない理由はわかりませんが、解決策を見つけました。「サブプロジェクト」と呼ばれるプレイフレームワークの「モジュール」のドキュメントで、モジュールを含める方法を見つけました。( http://www.playframework.com/documentation/2.1.0/SBTSubProjects ) しかし、「グローバル」モジュールの他の方法も可能であるべきだと思います。

于 2013-03-26T07:14:50.423 に答える
0

この行を変更

resolvers += "Local Play Repository" at "file://C:/play-2.1.0/repository/local"  

resolvers += "Local Play Repository" at "file://play-2.1.0/repository/local"

C:/ を削除するだけです。それは私にとってはうまくいきました。このhttp://www.objectify.be/wordpress/?p=363を確認してください。

于 2013-09-17T22:25:54.910 に答える