9

我在 Eclipse 上遇到了一个奇怪的 m2e 行为:

  1. 从远程 git 存储库克隆项目
  2. 项目资源管理器中显示的 dir 结构没有 maven 特性,只有 root 和包中的 pom.xml。没有“JRE 系统库”,没有“Maven 依赖项”。没有“src/main/java”,只有“my.packages.1”、“my.packages.2”
  3. 我使用 maven->Update Maven Project 更新项目。一切都显示得很好,除了创建了一个“bin”目录并且 bin dir 的内容与我从 git 签出的内容相同。

示例:在更新 maven 项目之前:

.settings/
src/
pom.xml
.gitignore

更新maven项目后:

.settings/
src/
pom.xml
.gitignore
bin/  <------ this dir appears after update maven project
bin/.settings/  <----------- contents the same as outside dir
bin/src
bin/.gitignore
bin/pom.xml

我应该如何避免这种奇怪的行为?

4

2 回答 2

6

看来,在您执行“更新项目”之前,该bin目录已配置为输出目录。输出目录在 Eclipse 中默认是隐藏的(至少在 Package Explorer 和 Project Explorer 中)。当您将项目配置为 Maven 项目时,输出目录更改为target/classes. 您的 bin 文件夹现在只是另一个文件夹,不再隐藏。
由于您不再需要它,您可以安全地删除它。

于 2012-12-13T07:10:10.097 回答
2

它也发生在我身上,因为我.classpath.gitignore. 我最初认为 windows 和 linux 开发人员之间可能存在一些冲突,但我错了,.classpath应该是相同的。

如果您没有.classpath. ,则在克隆时,java builder 会在 maven builder 重新创建一个干净的.classpath.

结论,提交并推送.classpath,这不再发生。

于 2016-05-08T11:46:06.620 回答