5

我正在尝试创建一个 AppFuse 原型,用于使用 Spring 源创建具有 Hibernate、Spring 和 Spring MVC 的 Web 应用程序。

但我收到以下错误。

Unable to create project from archetype [org.appfuse.archetypes:appfuse-basic-spring:RELEASE]
The defined artifact is not an archetype

下面是截图。

在此处输入图像描述

4

2 回答 2

9

此问题的更好解决方案是直接从远程目录获取更新的 AppFuse 原型(即具有新原型名称、artifactIds 等的原型)。去做这个:

  1. 在您的 STS 或 Eclipse IDE 中,选择“Window”->“Preferences”菜单项。

  2. 在 Preferences 屏幕上,展开 leftPane 树视图中的 Maven 节点。

  3. 在 Maven 节点下,选择“Archetypes”。

  4. 单击右侧窗格中的“添加远程目录...”按钮。

  5. 在“Remote Archetype Catalog”对话框中,通过输入“ https://oss.sonatype.org/content/repositories/appfuse/archetype-catalog.xml ”作为目录文件和适当的描述(例如来自远程目录的 AppFuse 原型)。

  6. 单击“验证...”(这可能会联系远程 url 并通过找到的原型列表进行下载+枚举),然后单击确定。

  7. 最后,单击“应用”和“确定”。

完成上述步骤后,当您创建一个新的 Maven 项目时,在向导的“选择原型”屏幕上,您可以在目录下拉列表中选择新添加的目录,并查看从远程下载的所有可用原型网址。选择您所需的原型,它将成功创建项目,而不会出现上述问题。

注意:我使用 JavaEE 的 Eclipse 4.3 (Kepler),安装了 m2e 插件。

有关该问题的详细分析以及包括屏幕截图在内的修复步骤,请参阅我在http://www.obinnakalu.blogspot.com/2013/09/a-solution-for-fixing-broken-maven.html上的博文

于 2013-09-14T19:36:19.573 回答
5

由于内部 STS 原型目录仍然引用旧的原型名称,因此问题出现了。他们现在都有一个扩展名“-archetype”

我找到的解决方案是从命令行运行脚本 - 您可以在以下页面上生成它:

static.appfuse.org/archetypes.html

我还在 STSes JIRA 中记录了这个问题 - 希望它会很快得到解决。

于 2011-06-21T06:57:32.057 回答