2010-09-24 55 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