我在我的应用程序中使用ClearCase,它会生成一整套“.copyarea.db
”文件(每个文件夹中有一个)。
这些会在发布到Tomcat时导致冲突,因为Eclipse会将“classes
”和“test-classes
”文件夹捆绑到一个JAR中(不知道为什么会这样做 - 因为不需要提供测试类)应用程序服务器)
任何具有相同名称的文件夹在类和测试类分支中都会有一个单独的.copyarea.db
。
我设法通过在.copyarea.db
首选项页面上的过滤资源中添加“Java->Compiler->Building->Output Folder
”来解决此问题。这会阻止文件出现在源输出(包/类文件夹)中,绝大多数情况下。
但是仍然存在根文件夹的问题,即“target/classes/.copyarea.db
”和“target/test-classes/.copyarea.db
”。
这些文件不会被过滤,因为它们不是编译任务的一部分
手动删除文件也无济于事,因为Eclipse希望找到它们而不是。
如何从根“classes”和“test-classes”文件夹中排除这些“.copyarea.db
”文件?
答案 0 :(得分:2)
此文件.copyarea.db
is created in each directory of a web view(通过CCRC,ClearCase的远程客户端)。
最简单的解决方案是不要置于源代码控制目录类和测试类。
然后,作为illustrated by this technote:
否则,不应控制目录 如果目录未受控制,则永远不应创建其中的
.copyarea.db
文件。
如果目录被意外添加到源代码管理中,将来可以通过向忽略列表添加类来防止这种情况。这样可以避免在共享期间将目录传递给ClearCase。
由于您通常不会对在类和测试类下生成的二进制文件进行版本控制,删除这些文件夹,并手动再次添加它们(将它们保密到您的视图中)是一种可接受的解决方案。
如果这些文件夹不受版本控制,那么copyarea.db
来自包含它们的版本化文件夹,并已复制到目标文件夹。
在这种情况下,您只需删除copyarea.db
个文件即可
但是既然你说Eclipse“希望找到它们而不是”,我认为那些“classes
”和“test-classes
”文件夹不是私人文件夹。
答案 1 :(得分:0)