我想以下列方式使用IntelliJ。一个项目(类似于Eclipse工作区),包含多个模块(类似于Eclipse Projects)。你可以猜到我正在从最近的Eclipse背景转向IntelliJ。
我设置了一个名为MainProject的空项目,它出现在目录结构中:
这正确包含我的“.idea”目录。我希望它不受源代码控制和C驱动器的影响。
然后我添加了两个Java模块,一个用于我将要处理的项目中的每个组件。这些是在perforce和p4客户端规范下的根
(“V”是代码必须存在的网络驱动器,但我不希望IntelliJ项目文件存在于那里)。这两个模块有一个内容根
一切正常。我已经在模块,src,测试等中正确标记了内容
现在问题。当我尝试设置perforce时,项目根目录是:
但是客户端规范root是
所以当我测试连接时出现以下错误
<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关注项目文件的存储位置。我可以看到很多情况下你不想要这个项目或者perforce下的模块.iml文件,但代码当然是。
解决这个问题的唯一方法是将项目文件放在客户端规范下的网络驱动器上,但由于它在项目级别,它可能无法正常生活在其中:
所以我会在
下有一个项目会破坏
我唯一想到的另一种方法是添加
作为“版本控制”下的目录,您可以在其中添加目录
这是唯一的方式还是任何人都可以建议更好的方法?
答案 0 :(得分:5)
我知道这是一个老问题,但我现在遇到同样的问题而且我设法解决了这个问题。
我在一个文件夹 A 中有一个IntelliJ项目,而我的Perforce工作区位于 B 文件夹中。
在我的项目中,我在项目文件夹内部和Perforce工作区内都有两个模块,而我正在使用错误的客户端规范&#34;我将整个项目映射到Perforce时出错。
我所要做的就是去: IntelliJ项目首选项 - &gt;版本控制 单击+并将我的整个Perforce工作空间目录添加到Perforce作为VCS,如图所示:
答案 1 :(得分:1)
您的设置是正确的。如果您将整个“项目”映射到Perforce VCS,IDEA会将您项目中的所有内容(包括.idea)视为Perforce,这不是您想要的。
顺便说一下,强烈建议将项目源保留在本地磁盘上,否则IDEA可能会出现文件同步问题,或者可能运行速度较慢。