Maven-archetype-plugin失败,出现ClassNotFoundException

时间:2019-07-11 15:52:07

标签: maven maven-plugin apache-karaf

例如,我正在尝试运行maven-archetype-plugin

mvn org.apache.maven.plugins:maven-archetype-plugin:3.1.1:generate \
    -DarchetypeGroupId=org.apache.karaf.archetypes \
    -DarchetypeArtifactId=karaf-command-archetype \
    -DarchetypeVersion=4.2.6 \
    -DgroupId=examples.archetype \
    -DartifactId=my-test

但出现以下错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.1.1:generate 
  (default-cli) on project standalone-pom: Execution default-cli of goal
  org.apache.maven.plugins:maven-archetype-plugin:3.1.1:generate failed: 
  A required class was missing while executing 
  org.apache.maven.plugins:maven-archetype-plugin:3.1.1:generate: 
  org/apache/commons/lang/StringUtils

我尝试了多种原型(开源和专有),但结果始终是上面的错误。同样,以前的maven-archetype-plugin版本也会产生相同的错误。

我的环境是

  • Apache Maven 3.6.1
  • Java版本:1.8.0_161
  • MacOS

您知道该问题的任何解决方案或解决方法(我已经尝试删除本地存储库文件夹)吗?

1 个答案:

答案 0 :(得分:1)

我发现有效的解决方案是将commons-lang依赖项添加到maven-archetype-plugin-3.1.2.pom

您可以在Maven仓库C:\ Users \ your_user \ .m2 \ repository \ org \ apache \ maven \ plugins \ maven-archetype-plugin \ 3.1.2中找到maven-archetype-plugin-3.1.2.pom \ maven-archetype-plugin-3.1.2.pom

然后将commons-lang添加到依赖项。

<dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>2.3</version>
</dependency>

希望有帮助。