0

我无法使用自己创建的模块。我做的一切都像下面的描述:

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

但是有一些变化不应该对功能产生任何影响:我不更改项目结构,而是在不同的文件夹中创建单独的项目。我想我应该描述我使用和创建自己的模块的步骤,也许有人会看到我的错误:

我用 play new testapp (workspace/testapp) 创建了一个项目。然后我用 play new testmodul (workspace/testmodul) 创建了另一个项目。然后我去 testmodul 并删除路由文件和 application.conf 的内容。然后我用方法 test 创建了一个名为“Tester”的类。(一个简单的system.out)之后,我在testmodul-文件夹中执行“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

更改此行

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 回答
0

我不确定为什么上面的解决方案不正确,但我找到了解决方案。我发现在名为“子项目”的播放框架“模块”的文档中,我发现了如何包含模块。(http://www.playframework.com/documentation/2.1.0/SBTSubProjects)但我认为“全局”模块的其他方式也应该是可能的。

于 2013-03-26T07:14:50.423 回答