- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
Maven Archetypes是"template",您可以通过它快速生成给定框架或项目类型的运行示例。我正在尝试编译当前在网络上 Activity 的所有 Maven 原型(prototype)目录的列表。
From the Maven documentation about catalog files :
Knowledge about archetypes are stored in catalogs.
The catalogs are xml files.
The Archetype Plugin comes bundled with an internal catalog. This one is used by default.
The Archetype Plugin can use catalogs from local filesystem and from HTTP connections.
到目前为止,我已经收集了发布目录的存储库列表,但很想看看是否有人知道更多:
mvn archetype:generate
-DarchetypeCatalog=local
-DarchetypeCatalog=remote
-DarchetypeCatalog=http://repo.fusesource.com/maven2
-DarchetypeCatalog=http://cocoon.apache.org
-DarchetypeCatalog=http://download.java.net/maven/2
-DarchetypeCatalog=http://myfaces.apache.org
-DarchetypeCatalog=http://tapestry.formos.com/maven-repository
-DarchetypeCatalog=http://scala-tools.org
-DarchetypeCatalog=http://www.terracotta.org/download/reflector/maven2/
相同的链接:1) FuseSource2) Cocoon3) Java.net4) MyFaces5) Tapestry6) Scala Catalog7) Terracotta Catalog
您会注意到,如果存储库实际发布了原型(prototype)目录(以上所有内容都如此),您将获得在该 archetype-catalog.xml
中找到的所有选项的 UI 提示.例如:
mvn archetype:generate -DarchetypeCatalog=http://scala-tools.org
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: http://scala-tools.org -> scala-archetype-simple (A simple scala project)
2: http://scala-tools.org -> lift-archetype-blank (A blank/empty liftweb project)
3: http://scala-tools.org -> lift-archetype-basic (A basic liftweb project (with DB, css, ...))
Choose a number: (1/2/3):
如果你想直接查看Scala目录文件例如,你可以browse to http://scala-tools.org/archetype-catalog.xml
但是,如果存储库不提供 archetype-catalog.xml,那么正如 PascalT 所说,您需要提前知道名称(不太方便)并在命令行参数中传递它。
最佳答案
说实话,我真的不明白建立所有目录列表的意义。对我来说,首先选择一个项目然后在需要时添加目录看起来更“自然”。这就是为什么 IMO 在原型(prototype)列表中具有更多值(value)的原因。无论如何你都需要他们的名字,即使你有一个列表中的所有目录。
不管怎样,这里有一些候选人;
编辑:在 Matthew 澄清原型(prototype)目录之后。
我误解了一些概念,我的答案并不明确和正确。
目录的意义在于不必提前知道原型(prototype)的名称。它们用于发布原型(prototype)并允许 mvn archetype:generate
列出原型(prototype)。因此,在使用 mvn archetype:generate
时添加“外部”目录(不理解内部目录)以获得更广泛的已知原型(prototype)列表是有意义的。 .
对于没有目录的原型(prototype),用户必须输入一个可怕的命令,该命令必须记录在某处(因为它需要了解工件)。
关于我的建议:
Atlassian 的原型(prototype)在内部目录中。 不是一个好的提议。
Grails 原型(prototype)不在内部目录或已发布的archetype-catalog.xml
中. 不是一个好的提议。
ServiceMix这里有目录http://servicemix.apache.org/tooling/ (基于 http://servicemix.apache.org/tooling/<version>/archetype-catalog.xml
模式)。 有效的提议。
我在挖掘这个时学到了一件有趣的事情。 maven 家伙提供了一个很好的工具,可以帮助人们开发原型(prototype)来创建目录 XML:archetype:crawl
目标基本上是爬取本地 Maven 存储库以搜索原型(prototype)并生成/更新 archetype-catalog.xml
文件在 ~/.m2/repository
默认。项目,人们只需要定期运行类似的东西:
mvn archetype:crawl -Dcatalog=/var/www/html/archetype-catalog.xml
Grails doesn't provide a catalog. To create a project, we have to run:
mvn org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-4:generate -DarchetypeGroupId=org.grails \
-DarchetypeArtifactId=grails-maven-archetype \
-DarchetypeVersion=1.0 \
-DarchetypeRepository=http://snapshots.repository.codehaus.org \
-DgroupId=example -DartifactId=my-app
但是一旦我们这样做了,我们的本地存储库中就有了原型(prototype)。所以如果我们输入:
mvn archetype:crawl -Dcatalog=/home/<me>/.m2/archetype-catalog.xml
原型(prototype)在 ~/.m2/archetype-catalog.xml
中列出我们现在可以使用 mvn archetype:generate
也适用于 Grails(参见选项 5):
mvn archetype:generate
...
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: local -> maven-archetype-archetype (archetype)
2: local -> maven-archetype-j2ee-simple (j2ee)
3: local -> maven-archetype-quickstart (quickstart)
4: local -> maven-archetype-webapp (webapp)
5: local -> grails-maven-archetype (maven-project)
6: internal -> appfuse-basic-jsf (AppFuse archetype for creating a web application with Hibernate, Spring and JSF)
...
这当然是一个(很好的)解决方法,它可能会产生副作用(你不会看到新版本的原型(prototype))。实际上,我不认为 archetype:crawl 目标是为此用途而设计的。我希望所有项目都发布他们的原型(prototype)。
关于java - 您知道的所有 Maven Archetype 目录的 URL 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/635543/
我正在尝试使用以下命令创建一个简单的 Maven 3.0.3 项目: mvn -X archetype:generate -DarchetypeArtifactId=maven-archetype-
我正在尝试学习一些 Maven,尤其是如何创建自己的原型(prototype)。然后我遇到了 Maven 提供的默认的。原型(prototype)“org.apache.maven.archetype
运行命令 mvn archetype:generate > a.txt 的输出片段: 332: remote -> org.apache.maven.archetypes:maven-archetyp
首先,我创建了一个原型(prototype)项目并将其安装到本地 maven 存储库。 接下来,我跑了mvn archetype:crawl生成 archetype-catalog.xml在 C:\U
当我尝试创建一个简单的 Maven 项目时收到上述错误消息。我已经用尽了以前的建议,例如Window > Preferences > Maven > Archetypes > Add Remote C
快速启动原型(prototype)似乎不起作用。mvn archetype:生成-DgroupId = com.mycompany.app -DartifactId = my-app -Darchet
我安装了maven 3.3.3,安装成功。 但是,在尝试在 Eclipse 中创建 Maven 项目时出现以下错误 'Creating maven-archtype-quickstart' has e
与 Dexterity内容类型,规范的方法是使用转换器: from plone.app.textfield.interfaces import ITransformer from plone.app.
是否有可能或工作方法使用 maven-archetype-webapp 原型(prototype)来生成具有简单目录结构的 maven webapp,例如 /src /main
我正在尝试卸载collective.carousel的原型(prototype)schemaextender(我只对该包中的portlet感兴趣,而不是将Carousel源添加到每个PloneForm
这个问题在这里已经有了答案: Failed to resolve version for org.apache.maven.archetypes (19 个回答) 关闭6年前。 我完全是 Maven
Archetype 是 Maven 项目的模板工具包,它定义了 Maven 项目的基本架构。Archetype 为开发人员提供了数千种创建 Maven 项目的模板,Maven 通过这些模板可以帮助用户
我创建了一个 Maven 原型(prototype)。我的 META-INF/maven/archetype-metadata.xml 看起来像这样: src/main/
我使用 Maven 创建了一个原型(prototype),它创建了一个项目。为了测试项目,我通常必须生成项目并运行 mvn clean install 以确保它成功构建。 我正在寻找一种方法来测试将从
我目前正在使用 Maven 3.3.3,其中 mvn.bat文件已被删除。推荐的也是唯一运行 Maven 的方法现在是通过 mvn.cmd文件。 我正在使用调用 maven-invoker 插件进行某
我使用了 vaadin-archetype-application-multimodule listed here并在 on this wiki page 上进行了讨论. 原型(prototype)生
假设我设置了 groupId至com.example , 和 artifactId至fancy.project ,现在我想创建一个原型(prototype),以便在创建时扩展为以下结构: |--src
我在其他地方找不到这个问题的答案。 我正在尝试设置一个虚拟机来学习 spring、wicket 和 hibernate。我从 this 开始maven-archetype 并像这样使用它: mvn a
我需要修复 archetypes.querywidget,它的构建没有创建 bin/test 脚本。 我应该使用 buildout.coredev 吗?我是否需要更改它的结帐以运行测试? 最佳答案 是
我在互联网上搜索了一段时间,但没有找到任何有用的东西...... 我想做一些简单的事情,例如在保存/创建 AT 内容类型后将页面重定向到列表页面(文件夹)。 我已经知道我必须使用 validate_i
我是一名优秀的程序员,十分优秀!