无法从archetype-catalog.xml创建项目

时间:2017-10-05 21:38:09

标签: java xml maven archetypes xmlcatalog

我试图使用自己的项目模板,但是当我执行命令时:

mvn archetype:generate -DarchetypeCatalog=local

我收到以下消息:

 [INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.
archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
   Your filter doesn't match any archetype (hint: enter to return to initial list)
Choose a number or apply filter (format: [groupId:]artifactId, case-sensitive contains): :

我尝试了很多可能的解决方案,但我没有成功......

我的步骤:
- 我在eclipse中创建了一个项目 - 然后我进入了这个项目的根目录并在提示符下执行了以下命令:

mvn archetype:create-from-project

并且有了成功。

然后我在项目文件夹

上执行了以下命令
mvn install

并且有成功

我检查了 .m2 文件夹,并且archetpe-catalog.xml在那里:

<?xml version="1.0" encoding="UTF-8"?>
<archetype-catalog xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0 http://maven.apache.org/xsd/archetype-catalog-1.0.0.xsd"
    xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <archetypes>
    <archetype>
      <groupId>io.openbdt</groupId>
      <artifactId>framework-openbdt</artifactId>
      <version>1.0</version>
      <description>framework-openbdt</description>
    </archetype>
  </archetypes>
</archetype-catalog>

在maven的文档中解释 archetypeCatalog = local 的默认路径是 path / .m2 / archetype-catalog.xml 但是在debug(mvn archetype:生成-DarchetypeCatalog = local -X),maven搜索 path / .m2 / repository / archetype-catalog.xml

中的xml文件

注意:这些步骤通常在我的笔记本中执行,但在我的桌面上我没有成功。然后我在笔记本上创建了一个新用户,它也不再有用了。

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

Maven 3.5.2在读写之间的位置不一致。

settings.xml中设置localRepository后,mvn archetype:generate -DarchetypeCatalog=local命令会显示${localRepository}/archetype-catalog.xml

如果没有localRepository设置,该命令将显示~/.m2/archetype-catalog.xml

mvn archetype:update-local-catalog命令使用~/.m2/archetype-catalog.xml v2.4 创建maven-archetype-plugin

该命令使用 v3.0.1 创建${localRepository}/archetype-catalog.xml

参考文献: [ARCHETYPE-529] Maven archetype:generate does not find local archetypes in interactive mode - ASF JIRA

答案 1 :(得分:0)

我有完全相同的问题,并使用Maven版本3.3.9和3.5.2进行复制。 mvn installmvn archetype:generate处理archetype-catalog.xml的方式可能不一致。

因为没有什么对我有帮助,我创建了一个软链接:

ln -s PATH/TO/.m2/archetype-catalog.xml PATH/TO/.m2/repository/archetype-catalog.xml

这对我来说很有用。不幸的是,这仅适用于类Unix系统。