【问题标题】:How to add java project dependency to play framework 2.2.1 java project如何添加java项目依赖播放框架2.2.1 java项目
【发布时间】:2014-02-03 14:26:39
【问题描述】:

我有几个 java 项目Abc.DomainAbc.Framework 等),我最近创建了一个新的 playframework 2.2.1 java 项目(@987654323 @)。我使用Eclipse 作为IDE(也在IntellijIdea 中尝试过)。

我的代码库的层次结构如下所示

/POC (Empty project)

    /Abc.Domain (Java project/module)

    /Abc.Framework (Java project/module)

    /Abc.Rest.Api (play2 for java project/module)

我想在Abc.Rest.Api 中访问Abc.DomainAbc.Framework 的课程和服务。我已经通过在Abc.Rest.Api 中的Eclipse 中添加Abc.DomainAbc.Framework 项目来尝试这个。该项目构建良好,我可以访问Abc.Rest.Api中的Abc.DomainAbc.Framework的所有类,但是当我运行或调试Abc.Rest.Api时,playframwork的sbt无法找到这些类和相关导入,导致在运行时异常中。

我用谷歌搜索了这个问题,我找到的解决方案是

  1. Abc.DomainAbc.Framework 发布到maven or ivy 存储库并将它们添加到 sbt 中,如下所示

    libraryDependencies ++= Seq(    
    "org.apache.derby" % "derby" % "10.4.1.3",    
    "org.hibernate" % "hibernate-entitymanager" % "3.6.9.Final"    
    )
    
  2. 在你的项目根目录下创建一个 lib/ 目录,然后添加 jar 文件到该目录。他们会自动添加到enter code here 应用程序类路径

通过执行上述任一操作,我将不再能够对 Abc.Domain 和 Abc 的类和服务进行实时调试源代码导航。框架。

我也在IntellijIdea 中尝试过这个,具有讽刺意味的是,在 IntellijIdea 中你不能直接将 java 模块作为依赖项添加到 playframework java 模块。

任何人都可以指导我在正确的方向上将 java 项目作为依赖项添加到我的 playframework java 项目中,而不会丢失 java 项目的调试和源代码导航,或者使用 Eclipse > IntellijIdea

【问题讨论】:

    标签: java eclipse intellij-idea playframework-2.2


    【解决方案1】:

    Play 框架支持模块。我认为您必须为您的项目创建模块才能访问并将它们包含在您的代码库中。

    除此之外,我认为添加 lib 是一种选择,但是您的源代码导航和更改将无法按您的意愿工作。

    【讨论】:

      【解决方案2】:

      只需创建 2 个 jar - 一个带有编译输出,第二个仅带有源,我不知道它在 Eclipse 中是如何工作的,无论如何在 Idea 中,如果给定 jar 缺失,您可以只使用 Attach sources

      你可以在 30 秒内完成它(所以肯定比配置自定义 maven repo 更快),有时需要执行play idea 命令来强制 IDE 重新索引非托管依赖项的代码,但最后你有可能阅读源代码模块代码,根据需要调试,预览方法的javadoc等。

      【讨论】:

      • 感谢您的回复。我对Playframework, IntellijIdea and Java 很陌生。请在IntellijIdea 中提供一步一步的方法来实现这一点。
      猜你喜欢
      • 1970-01-01
      • 2012-10-22
      • 2015-11-23
      • 2014-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-01
      • 1970-01-01
      相关资源
      最近更新 更多