我正在尝试使用自己的项目模板,但是在执行命令时:
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,但是在调试时(mvn archetype:generate -DarchetypeCatalog = local -X),maven在path / .m2 / repository中搜索xml文件。 /archetype-catalog.xml
注意:这些步骤通常在笔记本中执行,但是在我的台式机上却不成功。然后,我在笔记本上创建了一个新用户,该用户也不再起作用。
有人可以帮我吗?
最佳答案
Maven 3.5.2在读写之间的位置不一致。
在localRepository
中设置settings.xml
时,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