maven-archetype-plugin出现ClassNotFoundException异常。

问题描述 投票:0回答:1

我试图运行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

你知道有什么办法可以解决这个问题吗(我已经尝试过删除本地仓库文件夹)?

maven maven-plugin apache-karaf
1个回答
1
投票

我发现可行的解决方案是在maven-archetype-plugin-3.1.2.pom中添加commons-lang依赖关系。

你可以在你的maven repo中找到maven-archetype-plugin-3.1.2.pom C:\Users\your_user\m2\repository\org\apache\mavenplugins\maven-archetype-plugin/3.1.2\maven-archetype-plugin-3.1.2.pom。

然后将commons-lang添加到依赖关系中。

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

希望能帮到你。

© www.soinside.com 2019 - 2024. All rights reserved.