2010-09-24 59 views
1

我试图按照the maven documentation中所述生成maven插件。Maven的目标提出“找不到所需的目标”

因此,我创建与Eclipse使用MVN原型一个新的插件项目,我使用了创建Java类文件

<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/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.test</groupId> 
    <artifactId>hotdeploy</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>maven-plugin</packaging> 
    <description>Maven Plugin to hotdeploy portlets to server</description> 
    <dependencies> 
    <dependency> 
     <groupId>org.apache.maven</groupId> 
     <artifactId>maven-plugin-api</artifactId> 
     <version>2.2.1</version> 
    </dependency> 
    </dependencies> 
</project> 

package com.test.mavenplugins; 

import org.apache.maven.plugin.AbstractMojo; 
import org.apache.maven.plugin.MojoExecutionException; 

/** 
* Hot Deploy something components to local server. 
* @goal hotdeploy 
*/ 
public class HotDeployMojo extends AbstractMojo { 
    public void execute() throws MojoExecutionException 
     { 
      getLog().info("Hello, world."); 
     } 
} 

mvn install没有错误。然后,我包括在此插件在另一个项目:

<build> 
    <plugins> 
     <plugin> 
     <groupId>com.test</groupId> 
     <artifactId>hotdeploy</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
     </plugin> 
    </plugins> 
    </build> 

但是当我打电话mvn com.test:hotdeploy:hotdeploy,我得到以下错误:

[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Required goal not found: com.test:hotdeploy:hotdeploy in com.test:hotdeploy:0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 

任何人可以帮助我解决这个问题?

回答

0

作品传递版本时:

 
$ mvn com.test:hotdeploy:0.0.1-SNAPSHOT:hotdeploy 
[INFO] Scanning for projects... 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building hotdeploy 0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- hotdeploy:0.0.1-SNAPSHOT:hotdeploy (default-cli) @ hotdeploy --- 
[INFO] Hello, world. 
[INFO] ------------------------------------------------------------------------ 
... 

顺便说一句,我建议要遵循的的artifactId的maven-$name-plugin$name-maven-plugin命名约定。

以防万一,你也可能需要阅读:

+0

对不起,它不为我工作,我仍然得到了同样的错误:“需要的目标没有发现:COM .test:hotdeploy:0.0.1-SNAPSHOT:hotdeploy in com.test:hotdeploy:0.0.1-SNAPSHOT“ – Bertolt 2010-09-27 12:34:59

+0

@Bertolt奇怪,我用你的代码... – 2010-09-27 14:00:21

+0

@Bertolt我重新测试了Maven 2.2.1,它只是作品。 – 2010-09-27 14:38:02