【发布时间】:2014-01-13 17:37:23
【问题描述】:
我想通过以下方式使用 IntelliJ。包含多个模块(类似于 Eclipse 项目)的项目(类似于 Eclipse 工作区)。你可以猜到,我正在从最近的 Eclipse 背景转向 IntelliJ。
我设置了一个名为 MainProject 的空项目,它出现在 dir 结构中:
- C:\IntelliJProjects\MainProject
这正确包含我的“.idea”目录。我希望它不受源代码控制和 C 驱动器的影响。
然后我添加了两个 Java 模块,一个用于我将处理的项目中的每个组件。这些都是强制的,并且在具有根的 p4 客户端规范下
- V:\dev
(“V”是代码必须存在的网络驱动器,但我不希望 IntelliJ 项目文件存在于其中)。这两个模块都有一个内容根
- v:\dev\component1\trunk\src
- v:\dev\component2\trunk\src
一切正常。我已经在module、src、test等中正确标记了内容
现在讨论这个问题。当我尝试设置 perforce 时,项目根目录是:
- C:\IntelliJProjects\MainProject
但客户端规范根是
- v:\dev
所以我在测试连接时收到以下错误
<pre>
Connection problems: </br>
Wrong client specification: </br>
Client roots: </br>
v:\dev </br>
Actual root: </br>
C:\IntelliJProjects\MainProject </br>
</pre>
在使用 Eclipse 时,Perforce 从未关心过 Eclipse 工作区的位置,同样,我也不希望 IntelliJ 关心项目文件的存储位置。我可以看到很多情况下,您不希望项目或模块 .iml 文件处于 perforce 下,但代码肯定会。
解决此问题的唯一方法是将项目文件放在客户端规范下的网络驱动器上,但由于它处于项目级别,因此它不能正确地存在于任何一个之下:
- v:\dev\component1
- v:\dev\component2
所以我会在
下有一个项目- v:\dev
如果我更改了客户端规格,那将会崩溃
我想出的唯一其他方法是添加
- v:\dev
作为“版本控制”下的目录,您可以在其中添加目录
- 没有 VCS
- v:\dev 将 VCS 定义为 perforce
这是唯一的方法吗?或者有人可以提出更好的方法吗?
【问题讨论】: