【问题标题】:Cannot build a project using maven archetype installed locally无法使用本地安装的 Maven 原型构建项目
【发布时间】:2020-07-31 22:55:10
【问题描述】:

我正在尝试在我的本地/计算机上测试未发布版本的 maven Archetype (24-SNAPSHOT)。

原型来源:

[INFO] Installing /Users/s/Projects/aem-project-archetype-master/target/aem-project-archetype-24-SNAPSHOT.jar to /Users/s/.m2/repository/com/adobe/aem/aem-project-archetype/24-SNAPSHOT/aem-project-archetype-24-SNAPSHOT.jar
[INFO] Installing /Users/s/Projects/research/AEM/aem-project-archetype-master/pom.xml to /Users/s/.m2/repository/com/adobe/aem/aem-project-archetype/24-SNAPSHOT/aem-project-archetype-24-SNAPSHOT.pom

使用mvn archetype:crawl时可以看到

...
[INFO] Scanning /Users/s/.m2/repository/com/adobe/aem/aem-project-archetype/24-SNAPSHOT/aem-project-archetype-24-SNAPSHOT.jar
[INFO]  Archetype [com.adobe.aem:aem-project-archetype:24-SNAPSHOT] defined by repository path

当尝试创建一个新项目但想使用上面构建的本地原型文件时.. 使用以下命令(带或不带-DarchetypeCatalog=local

mvn -B archetype:generate -D archetypeGroupId=com.adobe.granite.archetypes -D archetypeArtifactId=aem-project-archetype -D archetypeVersion=24-SNAPSHOT -D aemVersion=6.5.0 -D appTitle="Demo Site" -D appId="demosite" -D groupId="com.demo.site" -D frontendModule=general -D includeExamples=y -DarchetypeCatalog=local

使用“构建失败”显示此错误消息:

...
[INFO] Generating project in Batch mode
[WARNING] Archetype not found in any catalog. Falling back to central repository.
[WARNING] Add a repository with id 'archetype' in your settings.xml if archetype's repository is elsewhere.
[WARNING] The POM for com.adobe.granite.archetypes:aem-project-archetype:jar:24-SNAPSHOT is missing, no dependency information available

我没有向.m2/settings.xml 添加任何内容。我错过了什么?

【问题讨论】:

    标签: maven maven-archetype aem-project-archetype


    【解决方案1】:

    仔细查看使用的命令后,发现问题和解决方法。

    原型的公共路径是:com.adobe.granite.archetypes,通过查看用于已发布原型的建议命令:

    -D archetypeGroupId=com.adobe.granite.archetypes

    当本地构建在 /.m2/repository/com/adobe/aem/ 中而不是在 /.m2/repository/com/adobe/granite/archetypes 中添加原型时

    扫描mvn archetype:crawl也显示路径为:

    [INFO] Scanning /Users/s/.m2/repository/com/adobe/aem/aem-project-archetype/24-SNAPSHOT/aem-project-archetype-24-SNAPSHOT.jar

    因此,使用 (-D archetypeGroupId=com.adobe.aem) 更改命令有助于解决问题:

    完整的命令:

    mvn -B archetype:generate -D archetypeGroupId=com.adobe.aem -D archetypeArtifactId=aem-project-archetype -D archetypeVersion=24-SNAPSHOT -D aemVersion=6.5.0 -D appTitle="Demo Site" -D appId="demosite" -D groupId="com.demo.site" -D frontendModule=general -D includeExamples=y -DarchetypeCatalog=local

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-02
      • 2017-11-29
      • 2012-07-02
      相关资源
      最近更新 更多