我正在尝试创建自己的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$
<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 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>
答案 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可以通过以下链接访问
我发现我有拼写错误然后我有错误。
答案 5 :(得分:0)
就我而言,问题是:
-update-local-catalog
个目标创建文件~/.m2/repository/archetype-catalog.xml
-generate
目标搜索文件~/.m2/archetype-catalog.xml
复制文件是一种解决方法。不知道我如何解决这个问题。现在肯定可以使用Maven 3.5.4了。