4

我有一个 maven (3.0.4) 多模块构建项目,可以完美地在命令行上运行。

mvn clean package

构建成功。

我试图将该项目导入 Eclipse

在此处输入图像描述

使用 m2e 1.0。

在此处输入图像描述

但在它准备好后,我看不到包文件夹,也看不到 src 文件夹的图标(如 src/main/java 等)。

在此处输入图像描述

但我本来希望看到如下内容:

在此处输入图像描述

有人暗示可能是什么问题吗?或者在哪里寻找想法?

更新

将其归结为可能是由于使用 Java 1.7 造成的。我配置如下的编译器:

 <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>2.5.1</version>
          <configuration>
            <source>${maven.compiler.source}</source>
            <target>${maven.compiler.target}</target>
            <executable>C:/Programme/Java/jdk1.7.0_05/bin/javac</executable>
            <fork>true</fork>
          </configuration>
        </plugin>
        ...

有这方面经验的人吗?

4

3 回答 3

3

看起来您的项目没有 Java 特性。您可以通过右键单击项目并转到

属性 -> 项目分面 -> 转换为分面形式

从那里您可以添加一个 Java 方面,它应该可以完成这项工作。我经常发现这种事情更容易手动编辑 Eclipse.project.classpath文件(不过,请确保在这样做之前备份它们!)。您可能需要检查您的项目.project文件是否包含以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    ...
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.m2e.core.maven2Builder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jdt.core.javanature</nature>
        <nature>org.eclipse.m2e.core.maven2Nature</nature>
    </natures>
</projectDescription>

然后确保你.classpath看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    ...
    <classpathentry kind="src" output="target/classes" path="src/main/java"/>
    <classpathentry excluding="**" kind="src" path="src/main/resources"/>
    <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
    <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>
    <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
    <classpathentry kind="output" path="target/classes"/>
</classpath>

一旦你准备好所有这些东西,像 Michal 所说的那样更新你的项目配置并刷新。

于 2012-07-04T08:26:31.380 回答
3

经过长时间的摆弄,我发现了为我解决它的问题:

我的配置中的 maven-compiler-plugin (2.5.1) 的生命周期映射错误,这导致了问题。删除它后,它可以按预期工作,无需手动更改方面,只需导入项目即可。

于 2012-07-09T14:57:16.027 回答
0

在您的日食中,它可能指向JRE而不是JDK. 去window->preference->java->Installed JRE。在此处添加 JDK,并将其设置为默认值。您可能需要重新启动 Eclipse。

于 2012-07-05T10:23:28.957 回答