maven在我的存储库中找不到原型

时间:2011-09-23 09:43:06

标签: maven maven-3 maven-plugin maven-archetype

我正在尝试创建自己的maven原型。现在,我正在阅读本教程[这里] [1]但没有成功。我能够构建原型项目,但是当我尝试从该原型生成项目时,我得到下面的错误。 Maven似乎无法找到我创建的原型。任何人都可以发现我的问题吗?是否有一些其他推荐的教程用于创建maven原型?感谢。

Maven 3.0.3版

构建错误:

AR3Y35-LAPTOP:EclipseWS Albert$ mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeGroupId=com.myarch.archetypes -DarchetypeArtifactId=component-archetype -DinteractiveMode=false 
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] >>> maven-archetype-plugin:2.0:generate (default-cli) @ standalone-pom >>>
[INFO] 
[INFO] <<< maven-archetype-plugin:2.0:generate (default-cli) @ standalone-pom <<<
[INFO] 
[INFO] --- maven-archetype-plugin:2.0:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Batch mode
[WARNING] Specified archetype not found.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.389s
[INFO] Finished at: Fri Sep 23 02:33:55 PDT 2011
[INFO] Final Memory: 7M/81M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2.0:generate (default-cli) on project standalone-pom: The desired archetype does not exist (com.myarch.archetypes:component-archetype:1.0) -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
AR3Y35-LAPTOP:EclipseWS Albert$ 

原型pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>com.myarch.templates</groupId>
    <artifactId>component-template</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>

  <groupId>${groupId}</groupId>
  <artifactId>${artifactId}</artifactId>
  <version>${version}</version>

  <name>${group}</name>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

</project>

archetype.xml

<archetype xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype/1.0.0 http://maven.apache.org/xsd/archetype-1.0.0.xsd">
  <id>component-archetype</id>
  <sources>
    <source>src/main/java/App.java</source>
  </sources>
  <testSources>
    <source>src/test/java/AppTest.java</source>
  </testSources>
  <allowPartial>true</allowPartial>
</archetype>

6 个答案:

答案 0 :(得分:14)

对于使用自定义原型,必须在archetype-catalog.xml文件中创建一个条目,该文件位于主目录中的.m2/repository/archetype-catalog.xml。为此,您需要使用以下命令安装原型:

mvn install archetype:update-local-catalog

之后,您可以在使用mvn archetype:generate命令创建新的Maven项目时使用新的原型。

答案 1 :(得分:5)

我需要在mvn archetype:generate命令中包含-DarchetypeVersion = {my.archetype.version}

答案 2 :(得分:0)

它告诉你:

[WARNING] Specified archetype not found.

您是否使用

安装了原型
mvn install

在尝试使用它之前?

答案 3 :(得分:0)

执行mvn install解决了这个问题,在执行了问题后问题得到了解决。

答案 4 :(得分:0)

根据我自己的经验,你必须搜索你的groupId可以通过以下链接访问

  

http://repo.maven.apache.org/maven2/archetype-catalog.xml

我发现我有拼写错误然后我有错误。

答案 5 :(得分:0)

就我而言,问题是: -update-local-catalog个目标创建文件~/.m2/repository/archetype-catalog.xml -generate目标搜索文件~/.m2/archetype-catalog.xml 复制文件是一种解决方法。不知道我如何解决这个问题。现在肯定可以使用Maven 3.5.4了。