【发布时间】:2014-02-05 05:57:17
【问题描述】:
我在 VirtualBox 虚拟机上有一个 SBT 项目,我安装了 SBT 并找到了我的项目。我使用sbt通过虚拟机运行项目,所以所有外部jar都位于VM中的/root/.ivy2/。
我还使用 sshfs 安装了所有 VM 驱动器,并以 ~/dev/remote/project/root/.ivy/ 的身份从主机路由到外部 jar。
我在主机上使用 Eclipse/ScalaIDE,所以当我打开项目时,IDE 找不到外部 jar。
如何告诉 Eclipse 自动使用这些 jars 或如何使用 Eclipse 和 VM 上的项目?
【问题讨论】:
-
您能展示如何将 Eclipse 中的库/jar 映射到磁盘上它们对应的 jar 吗?我的理解是,jar 来自哪里并不重要——安装的(来自主机)或本地(来自来宾操作系统的本机)磁盘。
-
问题是 sbt 命令“eclipse”使用来自 VM /root 的路径创建 .classpath 文件,但是 eclipse IDE 是在主机上运行的,因此路径是挂载文件夹的主机路径 + 来自 VM 的路径。所以,当我在我的虚拟机中运行“sbt eclipse”时,它会生成
但只有当我将其更改为 -
现在我必须手动将所有 /root/ 重命名为 /home/codez/Dev/remote/wm1/root/ 每次我添加新的依赖项时 .classpath 文件,以便 Eclipse 可以找到它。
-
您能否使用
rm -rf /root/.ivy2/cache删除本地Ivy2 缓存目录并使用ln -s /home/codez/Dev/remote/wm1/root/.ivy2/cache /root/.ivy2/cache创建它的虚拟 副本? -
我应该说...你能删除 host 上的本地 Ivy2 缓存目录吗(因为主机是你运行 Eclipse 的地方,并且依赖项在来宾操作系统上,在虚拟机上)。