3

我对此感到非常沮丧,我已经安装了 Spring 的最新 STS 版本,现在我正在尝试设置一个基于 appfuse-basic-jsf 的简单 Archtype 项目。

通过选择 New -> Maven Project -> 从列表中选择 appfuse-basic-jsf

它总是失败并显示以下错误消息:

无法从原型创建项目 [org.appfuse.archetype:appfuse-basic-jsf:RELEASE]

根据详细信息,它指出:

定义的工件不是原型

任何帮助将不胜感激。

4

2 回答 2

6

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

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

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

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

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

  5. 在“Remote Archetype Catalog”对话框中,指定目录 url 和描述,通过输入“ 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:39:43.350 回答
4

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

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

static.appfuse.org/archetypes.html

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

于 2011-06-21T06:54:01.437 回答