我有一个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>
...
有人在这方面有经验吗?
答案 0 :(得分:3)
看起来您的项目没有Java特性。您可以通过右键单击项目并转到
来更改此设置属性 - &gt;项目方面 - &gt;转换为分面形式
从那里你可以添加一个Java facet,它可以完成这项工作。我经常发现这样的事情,更容易手动编辑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说的那样更新你的项目配置并刷新。
答案 1 :(得分:3)
经过长时间的摆弄,我发现了解决这个问题的问题:
我的配置中maven-compiler-plugin(2.5.1)的生命周期映射错误导致了这些问题。删除后,它按预期工作,无需手动更改构面,只需导入项目即可。
答案 2 :(得分:0)
在你的日食中,它可能指向JRE
而不是JDK
。
转到window->preference->java->Installed JRE
。在此处添加JDK,并将其设置为默认值。
您可能需要重新启动eclipse。