“maven archetype:generate”命令:它将列出多少个原型文件?

Posted

技术标签:

【中文标题】“maven archetype:generate”命令:它将列出多少个原型文件?【英文标题】:"maven archetype: generate" command: how many archetype files will it list? 【发布时间】:2018-05-24 13:57:17 【问题描述】:

我是 maven 的新学习者,我正在浏览本教程:Jenkov's maven tutorial,其中显示“maven 原型:生成”将列出 1300 多个 maven 原型。而another tutorial也显示了如下结果:

$ mvn 原型:生成

[INFO] 正在扫描项目... [INFO] [INFO] -------------------------------------------------- ---------------------- [INFO] 构建 Maven 存根项目(无 POM)1 [INFO] -------------------------------------------------- ---------------------- [INFO] [INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) @ 独立 pom >>> [INFO] [INFO]

选择原型:

311: remote -> jboss:mobicents-ra-archetype(slee 的原型 资源适配器。) //...

314: 远程 -> ml.rugal.archetype:springmvc-spring-hibernate(一个漂亮的 基于 springmvc 的有用 JavaEE 应用程序原型 休眠)

//... 486: 远程 -> org.apache.maven.archetypes:maven-archetype-j2ee-simple(一个原型 其中包含一个简化的示例 J2EE 应用程序。)487:远程 -> org.apache.maven.archetypes:maven-archetype-marmalade-mojo (-) 488: 远程-> org.apache.maven.archetypes:maven-archetype-mojo(一个 原型,其中包含一个示例 Maven 插件示例。) 489:远程 -> org.apache.maven.archetypes:maven-archetype-plugin(一个包含示例 Maven 插件的原型。) 491:远程 -> org.apache.maven.archetypes:maven-archetype-portlet(一个原型 其中包含一个示例 JSR-268 Portlet。)492:远程-> org.apache.maven.archetypes:maven-archetype-profiles (-) 493: 远程 -> org.apache.maven.archetypes:maven-archetype-quickstart(一个包含示例 Maven 项目的原型。) //...

但是,当我尝试这个命令时,我得到的信息是:

[INFO] 正在扫描项目... [INFO] [信息] -------------------------------------------------- ---------------------- [INFO] 构建 Maven 存根项目(无 POM)1 [INFO] -------------------------------------------------- ---------------------- [INFO] [INFO] >>> maven-archetype-plugin:3.0.1:generate (default-cli)

generate-sources@standalone-pom >>> [INFO] [INFO] org.apache.maven.archetypes:maven-archetype-archetype(一个原型 其中包含一个示例原型。)2:内部-> org.apache.maven.archetypes:maven-archetype-j2ee-simple(一个原型 其中包含一个简化的示例 J2EE 应用程序。) 3:内部 -> org.apache.maven.archetypes:maven-archetype-plugin(一个原型 包含一个示例 Maven 插件。) 4:内部 -> org.apache.maven.archetypes:maven-archetype-plugin-site (一个原型 其中包含一个示例 Maven 插件站点。 这个原型可以在现有的 Maven 插件项目上分层。) 5:内部 -> org.apache.maven.archetypes:maven-archetype-portlet(一个原型 其中包含一个示例 JSR-268 Portlet。)6:内部 -> org.apache.maven.archetypes:maven-archetype-profiles () 7: 内部-> org.apache.maven.archetypes:maven-archetype-quickstart(一个原型 其中包含一个示例 Maven 项目。) 8:内部 -> org.apache.maven.archetypes:maven-archetype-site(一个原型 包含一个示例 Maven 站点,该站点演示 一些受支持的文档类型,如 APT、XDoc 和 FML,并演示如何 到您的网站。这个原型可以在现有的 Maven 项目上分层。) 9:内部 -> org.apache.maven.archetypes:maven-archetype-site-simple(一个原型 其中包含一个示例 Maven 站点。) 10:内部 -> org.apache.maven.archetypes:maven-archetype-webapp(一个原型 包含一个示例 Maven Webapp 项目。)选择一个数字或应用 过滤器(格式:[groupId:]artifactId,区分大小写包含):7

只有 10 个原型,而且都是内部的。

我对此感到困惑,请问我的命令是否有问题?

【问题讨论】:

【参考方案1】:

我遇到了同样的问题,最后设法找到并使用了我正在寻找的远程原型。 “解决方案”更像是一种解决方法,但它确实起到了作用。

在您执行任何操作之前,请使用 mvn archetype:crawl 抓取您的本地 maven 存储库。这将找到每个下载的原型工件并将其添加到您的archetype-catalog.xml。如果这不起作用,请尝试以下操作:

    找到原型工件(在 mvnrepository.com 中搜索) 使用mvn dependency:get -Dartifact=groupId:artifactId:version下载原型工件 使用mvn archetype:crawl 抓取您的本地 mvn 存储库以获取原型 原型现在应该列在~/.m2/archetype-catalog.xml/path/to/local/mvn/repo/archetype-catalog.xml 执行 mvn archetype:generate 你现在应该有更多可用的原型 (奖励)如果您想在给定列表中搜索特定原型,请搜索 artifactId,您也可以使用 -Dfilter=artifactId 标志,但这对我不起作用

【讨论】:

以上是关于“maven archetype:generate”命令:它将列出多少个原型文件?的主要内容,如果未能解决你的问题,请参考以下文章