首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Cloud9中运行maven构建

如何在Cloud9中运行maven构建
EN

Stack Overflow用户
提问于 2014-07-27 14:08:06
回答 3查看 5.1K关注 0票数 7

我只是在尝试Cloud9 ide,我成功地将github存储库分叉,并将settings.xml放置到$HOME/.m2/目录中。

当我试图构建mvn干净安装时,我得到了以下错误

代码语言:javascript
复制
[INFO] Error building POM (may not be this project's POM).


Project ID: com.temenos.interaction:com.temenos.interaction.rimdsl.parent

Reason: Cannot find layout implementation corresponding to: 'p2' for remote repository with id: 'p2.eclipse.kepler'. for project com.temenos.interaction:com.temenos.interaction.rimdsl.parent


[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.reactor.MavenExecutionException: Cannot find layout implementation corresponding to: 'p2' for remote repository with id: 'p2.eclipse.kepler'. for project com.temenos.interaction:com.temenos.interaction.rimdsl.parent
        at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:404)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:272)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
        at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.project.ProjectBuildingException: Cannot find layout implementation corresponding to: 'p2' for remote repository with id: 'p2.eclipse.kepler'. for project com.temenos.interaction:com.temenos.interaction.rimdsl.parent
        at org.apache.maven.project.DefaultMavenProjectBuilder.buildArtifactRepositories(DefaultMavenProjectBuilder.java:949)
        at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1206)
        at org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:823)
        at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:508)
        at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200)
        at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:604)
        at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:487)
        at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:560)
        at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:560)
        at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:391)
        ... 12 more
Caused by: org.apache.maven.artifact.InvalidRepositoryException: Cannot find layout implementation corresponding to: 'p2' for remote repository with id: 'p2.eclipse.kepler'.
        at org.apache.maven.project.ProjectUtils.getRepositoryLayout(ProjectUtils.java:157)
        at org.apache.maven.project.ProjectUtils.buildArtifactRepository(ProjectUtils.java:110)
        at org.apache.maven.project.ProjectUtils.buildArtifactRepositories(ProjectUtils.java:56)
        at org.apache.maven.project.DefaultMavenProjectBuilder.buildArtifactRepositories(DefaultMavenProjectBuilder.java:942)
        ... 21 more
Caused by: org.codehaus.plexus.component.repository.exception.ComponentLookupException: Component descriptor cannot be found in the component repository: org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayoutp2.
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:323)
        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:440)
        at org.apache.maven.project.ProjectUtils.getRepositoryLayout(ProjectUtils.java:153)
        ... 24 more

现在我的问题是如何从不同的存储库下载工件?是否有Cloud9工作区的设置?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-04-15 15:19:18

您的问题可能出现在Maven版本.

如果在终端上执行:

代码语言:javascript
复制
$ dpkg --get-selection | grep -i maven

如果您有类似于maven2的东西,那么您已经在您的环境中安装了Maven的旧版本2。显然,有些目标或插件只能在后一个版本3上使用。

因此,在您的Cloud9环境中,您可以安装版本3,如下所示:

代码语言:javascript
复制
$ sudo apt-get remove maven2
$ sudo apt-get install maven
$ export MAVEN_OPTS="-Xmx256m"

最后一个命令是避免被Cloud9杀死的maven进程,当它超过maven的内存边界时,可能会发生在您身上。这件事发生在我身上:

您可以在这里更详细地阅读这方面的内容:如何在Maven中使用Cloud9?

票数 10
EN

Stack Overflow用户

发布于 2014-07-27 14:21:22

其他用户在云9中也遇到了这个问题。请参阅云9站点上的以下线程。其中一个用户在上面写了一个小片段,这应该适合你。在这里输入链接描述

票数 0
EN

Stack Overflow用户

发布于 2015-04-23 06:36:54

据我所知,您的pom.xml是指在settings.xml中定义的存储库ID,它使您依赖于用于构建的平台,从而取消了Maven的一个要点:使项目易于在任何机器上构建。

如果你去了pom.xml,它会对你有用吗?据我所知,语法基本相同。

POM参考,存储库部分:https://maven.apache.org/pom.html#Repositories

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24981777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档