我在根项目中的文件夹子项目中有一个包含多个子项目的Play项目。一切都很好,直到我尝试将项目导入eclipse,然后执行 activator eclipse :
当我导入根项目时,会出现一些错误,因为这个项目显然取决于其他(eclipsified)子项目。
它们中的每一个都有自己的Eclipse项目文件( .project 和 .classpath ),这些文件由 activator eclipse 命令生成。因此,如果这些子项目在 lib 文件夹中包含非托管jar文件,那么尝试导入这些子项目也会失败,因为此子项目的相应元文件 .classpath 包含导入为Eclipse项目时,那些指向错误位置的jar的相对类路径条目:
<classpathentry kind="lib" path="../../subprojects/mod_service_a/lib/MyLib.jar"/>
Eclipse导入项目后不会找到此lib(没有内容副本) - 它指出两个级别太高。
播放项目布局:
Eclipse中导入项目的项目布局:
任何想法如何解决这个问题?如何在eclipse中组织Play sun项目,以便他们可以在文件夹lib中找到他们的非托管jar?
答案 0 :(得分:0)
在一个非常糟糕的工作和创建软链接以满足错误的文件夹查找之后,我终于找到了一个更好的解决方案:TypeSafe SBT Eclipse插件提供了一个防止创建相对路径的选项:只需将此行添加到相应的子项目的 build.sbt
EclipseKeys.relativizeLibs := false
你得到了绝对的道路。
通常不建议使用绝对路径,但在这种情况下,它似乎是一种可行的解决方案。
有关TypeSafe SBT Eclipse插件的更多信息,请访问: https://github.com/typesafehub/sbteclipse/wiki/Using-sbteclipse