2013-03-22 54 views
0

我不能使用我自己创建的模块。我做的一切都像下面的描述:玩框架2.1不能使用自定义模块

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

但也有其不应该的功能产生任何影响变化不大:我不改变项目struktur和我创建分开在不同的文件夹中的项目。我想我应该描述我使用和创建我自己的模块的步骤,也许任何人看到我的错误:我创建一个项目与播放新的testapp(工作区/ testapp)。然后我创建一个新的testmodul(工作区/ testmodul)的其他项目。然后我去testmodul并删除路由文件和application.conf的内容。然后我用方法测试创建一个名为“Tester”的类。 (一个简单的system.out)之后,我在testmodul文件夹中优于“clean”,“compile”和“publish-local”。

在我的理解模块发布在本地存储库中,每个想要使用此模块的应用程序都可以访问模块的本地存储库版本。

现在我转到testapp并在Build.scala中创建依赖关系。之后,我去默认的Application.class,并添加行“Tester.test();”。然后我执行依赖关系命令并尝试编译。

之后,我得到错误,“无法找到符号”。这似乎是测试应用程序不知道Tester.class,这意味着测试应用程序不知道该模块。 但我不知道为什么。

有没有人有想法?

编辑: 也许我应该显示testapp我dependencie配置:

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" 
) 
+0

您是否使用Eclipse,无法找到符号看起来像IDE错误,尝试运行'干净'后运行eclipse'等 – adis 2013-03-23 00:11:24

+0

是的,我使用eclipse和我做了eclipse命令之前。我认为这不是一个月食错误。 – 2013-03-23 07:47:42

回答

0

我不知道为什么上面的解决方案是不正确的,但我找到了解决办法。我发现,在playframework“modules”的文档中,我叫做“subprojects”,在那里我发现了如何包含模块。 (http://www.playframework.com/documentation/2.1.0/SBTSubProjects) 但我认为“全局”模块的另一种方式也应该是可能的。

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