我对此感到非常沮丧,我已经从Spring安装了最新的STS版本,现在我正在尝试基于appfuse-basic-jsf设置一个简单的archtype项目。
选择New - > Maven项目 - >从列表中选择appfuse-basic-jsf
始终失败并显示以下错误消息:
无法从原型创建项目[org.appfuse.archetype:appfuse-basic-jsf:RELEASE]
详情请注明:
定义的工件不是原型
非常感谢任何帮助。
答案 0 :(得分:6)
此问题的更好解决方案是直接从远程目录中获取更新的AppFuse原型(即具有新原型名称,artifactIds等的原型)。要做到这一点:
在您的STS或Eclipse IDE中,选择“窗口” - > “首选项”菜单项。
在“首选项”屏幕上,展开leftPane树视图中的Maven节点。
在Maven节点下,选择“Archetypes”。
点击右边的“添加远程目录...”按钮。
在“远程原型目录”对话框中,通过输入目录文件的“https://oss.sonatype.org/content/repositories/appfuse/archetype-catalog.xml”和相应的描述(例如远程目录中的AppFuse原型)来指定目录URL和描述。
点击“验证...”(这可能与远程网址联系,并通过找到的原型列表下载+枚举),然后点击“确定”。
最后,点击“应用”和“确定”。
执行上述步骤后,当您创建新的Maven项目时,在向导的“选择原型”屏幕上,您可以在目录下拉列表中选择新添加的目录,并查看下载的所有可用原型来自远程网址。选择您需要的原型,它将成功创建项目,没有上述问题。
注意:我正在使用Eclipse 4.3(Kepler)for JavaEE,并安装了m2e插件。
有关该问题的详细分析以及修复此问题的步骤(包括屏幕截图),请参阅http://www.obinnakalu.blogspot.com/2013/09/a-solution-for-fixing-broken-maven.html上的博文
答案 1 :(得分:4)
由于内部STS原型目录仍然引用旧的原型名称,因此问题就出现了。他们现在都有一个扩展名“-archetype”
我找到的解决方案是从命令行运行脚本 - 您可以在以下页面生成它:
static.appfuse.org/archetypes.html
我也在STSes JIRA中记录了这个问题 - 希望很快得到解决。