导入 Maven-GWT 项目时出错(“未找到处理 gwt-maven-plugin 的市场条目”)

Posted

技术标签:

【中文标题】导入 Maven-GWT 项目时出错(“未找到处理 gwt-maven-plugin 的市场条目”)【英文标题】:Error when importing Maven-GWT project ("No marketplace entries found to handle gwt-maven-plugin") 【发布时间】:2011-12-16 12:12:59 【问题描述】:

我在 Win XP、Maven 3.0.3 和 GWT 2.4 上使用 Eclipse Indigo。我使用Mavne gwt archetype 创建了一个 Maven-GWT 项目。然后我打开Eclipse,转到File -> Import,选择Existing Maven Projects,为我的GWT-Maven项目选择pom,然后得到这个对话框:

错误是

No marketplace entries found to handle gwt-maven-plugin:2.4.0:generateAsync in Eclipse.  Please see Help for more information.
No marketplace entries found to handle gwt-maven-plugin:2.4.0:i18n in Eclipse.  Please see Help for more information.
No marketplace entries found to handle maven-war-plugin:2.1.1:exploded in Eclipse.  Please see Help for more information.

有人知道如何解决这些错误吗?当我实际导入我的项目并尝试使用它时,它正在造成严重破坏。 - 戴夫

【问题讨论】:

Google 几年前就强制要求你必须使用 android Studio 进行 android 开发。那几乎杀死了日食。他们现在还强制要求使用 Kotlin。 【参考方案1】:

我对 maven、gwt 和 eclipse 使用了不同的方法。

我正在使用 maven eclipse 插件生成一个 .classpath 和 .project 文件并将项目手动导入到 eclipse 中(不是作为 maven 项目)。

我对 maven eclipse 插件的配置如下:

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-eclipse-plugin</artifactId>
            <version>2.8</version>

            <configuration>
                <downloadSources>true</downloadSources>
                <downloadJavadocs>false</downloadJavadocs>
                <buildOutputDirectory>$project.build.directory/$project.build.finalName/WEB-INF/classes</buildOutputDirectory>
                <projectnatures>
                    <projectnature>org.eclipse.jdt.core.javanature</projectnature>
                    <projectnature>com.google.gdt.eclipse.core.webAppNature</projectnature>

                    <nature>com.google.gwt.eclipse.core.gwtNature</nature>
                </projectnatures>
                <buildcommands>
                    <buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>
                    <buildcommand>com.google.gdt.eclipse.core.webAppProjectValidator</buildcommand>

                    <buildcommand>com.google.appengine.eclipse.core.projectValidator</buildcommand>
                    <buildcommand>com.google.gwt.eclipse.core.gwtProjectValidator</buildcommand>
                </buildcommands>
                <classpathContainers>
                    <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>

                    <classpathContainer>com.google.gwt.eclipse.core.GWT_CONTAINER</classpathContainer>
                </classpathContainers>
                <excludes>
                    <exclude>com.google.gwt:gwt-servlet</exclude>
                    <exclude>com.google.gwt:gwt-user</exclude>
                    <exclude>com.google.gwt:gwt-dev</exclude>
                    <exclude>javax.validation:validation-api</exclude>
                </excludes>
                <linkedResources>
                    <linkedResource>
                        <name>war</name>
                        <type>2</type>
                        <location>$basedir/target/$project.artifactId-$project.version</location>
                    </linkedResource>
                </linkedResources>

            </configuration>
        </plugin>

希望有帮助

【讨论】:

我试过这个。与原始海报一样,我首先有 3 个错误。现在,我有一个。 我试过你建议的插件配置。与原始海报一样,我首先有 3 个错误。现在,我只有一个:“在 Eclipse 中找不到处理 maven-war-plugin:2.1.1:exploded 的市场条目。有关更多信息,请参阅帮助。”我尝试为它添加依赖项。它位于 Maven 存储库中。所以这个消息并不完全有意义。【参考方案2】:

见How to solve "Plugin execution not covered by lifecycle configuration" for Spring Data Maven Builds

你基本上可以从http://code.google.com/p/google-web-toolkit/wiki/WorkingWithMaven#POM_changes_needed_for_Eclipse_Indigo复制sn-p并适应你的插件和目标。

【讨论】:

嗨,我从您的链接中剪切并粘贴了插件 pom 更改,但是当我导入现有的 Maven 项目时,我遇到了与上面对话框中相同的错误。您的答案是否与导入使用 GWT-maven 原型创建的现有 Maven 项目有关? 哦,不是用工件号创建的。抱歉,您的问题错过了。【参考方案3】:

确保您没有使用 Eclipse 的嵌入式 Maven。

Window-&gt;Preference -&gt;Maven -&gt; Installation-&gt;在那里选择你自己的maven安装文件夹。

编辑

如果您的公司为 IDE 付费,您应该询问IntelliJ the IDE for Java,我会说它在很多方面都比 Eclipse 好,并不是说 Eclipse 不好,这只是一个不错的选择。你一开始就不会有这个问题

【讨论】:

@rapt 这不是魔法,如果你不在那里设置它,Eclipse 会选择自带的嵌入式 Maven,但它不会工作。 嗨 Gob00st,我已将安装设置为我的 maven 安装文件夹。(当我执行 mvn --version 时,它写为 Maven home: C:\Program Files\apache-maven-3.3.9- bin\bin\..) 我将其设置为 C:\Program Files\apache-maven-3.3.9-bin\ 但它仍然无法正常工作。你能帮帮我吗?谢谢 我不认为建议使用不同的 IDE 是一种解决方案,只是让人们使用他们选择的 IDE...【参考方案4】:

如果您的 pom 没有具体说明 maven-resources-plugin 的版本,则该版本将来自 superpom。默认情况下,m2e 使用 Maven 3.0.x 的嵌入式副本。如果那里的 superpom 指向 2.4.3 并且您的“Eclipse 外部”版本要求其他内容,那么 Eclipse 内部的 Maven 将去寻找 2.4.3 并由于“离线”而失败。

通过将 m2e 配置为使用您在外部使用的 Maven 安装,或关闭一次构建的“离线”来修复。

如果你想使用本地安装的maven而不是m2e自带的嵌入式版本,你必须这样做

Windows ==> Preferences ==> Maven ==> Installations ==> Click Add (select your local maven installation directory)

安装目录不是本地存储库所在的位置。这是安装 maven 的地方。

更改后尝试右键单击项目,然后,

Maven ----> 更新项目

【讨论】:

如果这没有给出正确的解决方案。然后尝试以手动方式创建一个eclipse项目 mvn eclipse:eclipse【参考方案5】:

这对我有帮助:

    从 Eclipse 中删除项目(但不要从磁盘中删除) 关闭日食 在您的用户文件夹中有.m 文件夹。 删除它下面的存储库文件夹 (.m/repository)。 打开 eclipse 导入项目作为现有的 maven 项目(从磁盘)。

【讨论】:

以上是关于导入 Maven-GWT 项目时出错(“未找到处理 gwt-maven-plugin 的市场条目”)的主要内容,如果未能解决你的问题,请参考以下文章

为 apache phoenix 导入 sbt 项目时出错

将 Eclipse 项目导入 Android Studio 时出错

导入 sbt 项目时出错:idea

导入 gradle 项目 Eclipse 时出错:找不到目标

将项目导入eclipse时出错

导入SBT项目时出错