我正在尝试创建一个 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
下面是截图。
我正在尝试创建一个 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
下面是截图。
此问题的更好解决方案是直接从远程目录获取更新的 AppFuse 原型(即具有新原型名称、artifactIds 等的原型)。去做这个:
在您的 STS 或 Eclipse IDE 中,选择“Window”->“Preferences”菜单项。
在 Preferences 屏幕上,展开 leftPane 树视图中的 Maven 节点。
在 Maven 节点下,选择“Archetypes”。
单击右侧窗格中的“添加远程目录...”按钮。
在“Remote Archetype Catalog”对话框中,通过输入“ https://oss.sonatype.org/content/repositories/appfuse/archetype-catalog.xml ”作为目录文件和适当的描述(例如来自远程目录的 AppFuse 原型)。
单击“验证...”(这可能会联系远程 url 并通过找到的原型列表进行下载+枚举),然后单击确定。
最后,单击“应用”和“确定”。
完成上述步骤后,当您创建一个新的 Maven 项目时,在向导的“选择原型”屏幕上,您可以在目录下拉列表中选择新添加的目录,并查看从远程下载的所有可用原型网址。选择您所需的原型,它将成功创建项目,而不会出现上述问题。
注意:我使用 JavaEE 的 Eclipse 4.3 (Kepler),安装了 m2e 插件。
有关该问题的详细分析以及包括屏幕截图在内的修复步骤,请参阅我在http://www.obinnakalu.blogspot.com/2013/09/a-solution-for-fixing-broken-maven.html上的博文
由于内部 STS 原型目录仍然引用旧的原型名称,因此问题出现了。他们现在都有一个扩展名“-archetype”
我找到的解决方案是从命令行运行脚本 - 您可以在以下页面上生成它:
static.appfuse.org/archetypes.html
我还在 STSes JIRA 中记录了这个问题 - 希望它会很快得到解决。