2013-03-26 102 views
0

我已经使用选项签出在Eclipse中Maven项目:路径必须包括项目和资源名称/错误

Import > Maven > Check out Maven Projects from SCM 

当我尝试使用建项目:

Project > Clean 

我得到以下错误:

Problems occurred when invoking code from plug-in: "org.eclipse.core.resources". 

堆栈跟踪:

java.lang.IllegalArgumentException: Path must include project and resource name:/
    at org.eclipse.core.runtime.Assert.isLegal(Assert.java:63) 
    at org.eclipse.core.internal.resources.Workspace.newResource(Workspace.java:2163) 
    at org.eclipse.core.internal.resources.Container.getFolder(Container.java:222) 
    at org.sonatype.m2e.mavenarchiver.internal.AbstractMavenArchiverConfigurator.mavenProjectChanged(AbstractMavenArchiverConfigurator.java:178) 
    at org.sonatype.m2e.mavenarchiver.internal.AbstractMavenArchiverConfigurator.mavenProjectChanged(AbstractMavenArchiverConfigurator.java:170) 
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.mavenProjectChanged(ProjectConfigurationManager.java:905) 
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.notifyProjectChangeListeners(ProjectRegistryManager.java:732) 
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.applyMutableProjectRegistry(ProjectRegistryManager.java:855) 
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:279) 
    at org.eclipse.m2e.core.internal.project.registry.MavenProjectManager.refresh(MavenProjectManager.java:58) 
    at org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:87) 
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726) 
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199) 
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239) 
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292) 
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295) 
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351) 
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374) 
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143) 
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) 
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) 

会话数据:

eclipse.buildId=M20130204-1200 
java.version=1.7.0_17 
java.vendor=Oracle Corporation 
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US 
Framework arguments: -product org.eclipse.epp.package.java.product 
Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product 

我看不到与配置的任何问题。其他人已经检查出这个项目没有这个错误。当它说'路径必须包含...'时,我不知道它指的是什么,我可以在哪里配置此路径?

+1

您是否尝试过在Eclipse中右键单击项目并选择Maven> Update Dependencies并选择所有项目? – maloney 2013-03-26 11:10:44

+0

这不是一个单独的项目,它作为4个独立的Java项目签出。我试着右键点击其中一个,然后选择'Maven'。我没有'Maven'下的'Update Dependencies'选项,我只有'更新项目'。当我做'更新项目'时,我得到相同的错误 – eeijlar 2013-03-26 11:16:27

+0

很难说,没有看,但听起来像检查出4个独立的项目有问题 - 你还需要有一个根项目,你检查了这一点吗?如果其他人已经成功检查了这一点,那么你一定做了一些不同的事情,所以试图比较你的工作空间 – maloney 2013-03-26 11:29:22

回答

2

这是由本地定义的名为$ BROOT的环境变量引起的,该环境变量在〜/ .bashrc中设置,然后由maven pom.xml提取。环境变量将项目的输出目录放在eclipse工作区之外,这并不是Eclipse喜欢做的事情。

解决方案是取消设置环境变量。这是它在Windows中工作的原因,因为Windows不知道〜/ .bashrc。

+1

那环境变量是......? – NobleUplift 2013-07-27 22:46:58

+0

将环境变量名称添加到答案 – eeijlar 2014-04-14 09:55:47

+0

仅供参考:您问题的真正原因是“Eclipse JDT”不允许在项目外设置输出目录。所以如果你已经把这个变量指向了外面的某个地方,它违反了Eclipse的规则。 – 2016-06-08 07:00:36

相关问题