2012-09-25 3 views
2

난 그냥 메이븐 이클립스 플러그인을 설치하고 모두 좋다. 나는 첫 번째 모조를 만들려고 노력했다. 설치 후에 모든 필수 종속성을 다운로드했습니다.왜 Eclipse가 종속성 섹션에 추가 된 후 Maven Plugin 종속성을 해결하지 못합니까?

이제 이클립스가 org.apache.maven.plugins 클래스를 해결할 수 없다는 것이 걱정 스럽다.

내 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> 

    <groupId>com.blah.dalm.mojo</groupId> 
    <artifactId>assembly-mojo</artifactId> 
    <packaging>maven-plugin</packaging> 
    <name>Assembly Mojo</name> 
    <version>0.0.1-SNAPSHOT</version> 

    <build>  
    <sourceDirectory>${basedir}</sourceDirectory> 
    <!-- Plugin Configurations --> 
    <plugins> 
     <!-- Compiler plugin to use 1.6 --> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.0.2</version> 
      <executions> 
       <execution> 
       </execution> 
      </executions> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 

     </plugin> 
    </plugins> 
    </build> 
    <!-- Dependencies --> 
    <dependencies> 
    <dependency> 
     <groupId>org.apache.maven</groupId> 
     <artifactId>maven-plugin-api</artifactId> 
     <version>2.0</version> 
    </dependency> 
    </dependencies> 
</project> 

내 모조 파일 AssemblyMojo.java :

package com.blah.dalm.mojo; 

import java.util.List; 
import org.apache.maven.plugin.MojoExecutionException; // <-- This is where it says it cannot resolve the class or package. 

/** 
* "Assemble Goal" 
* @goal assemble-goal 
* @author Husain Khambaty 
* 
*/ 
public class AssemblyMojo { 
    /** 
    * @parameter expression="${assembly.sourcePath}" 
    * @required 
    */ 
    private String sourcePath; 

    /** 
    * @parameter expression="${assembly.outputPath}" 
    * @required 
    */ 
    private String outputFilePath; 

    /** 
    * @parameter 
    */ 

    private List<String> excludeList; 
    /** 
    * @parameter 
    */ 

    private String filterRule; 

    public void execute() throws MojoExecutionException { // <-- And here 

    } 
} 

MojoExectionException 클래스를 해결할 수없는 (따라서 나는를 찾을 수 없습니다 생각 re-quired jars. 이클립스 -Maven 통합 후에 자동으로 가져 오는 것으로 가정한다.)

빌드 할 때 잘 만듭니다.

+0

빌드가 잘되었다고 할 때, Maven 또는 Eclipse를 사용하여 빌드하고 있습니까? MojoExectionException 클래스가있는 모조 항아리에 특정 종속성이 추가 된 것을 볼 수 없습니다. – Metalhead

+0

maven-plugin-api.jar가 Maven 로컬 저장소에서 성공적이고 Eclipse 프로젝트의 클래스 경로에 존재하는지 확인하십시오. – yorkw

+0

감사합니다 @yorkw, 당신의 대답은 저를 해결책으로 인도했습니다. 아래 답변을 기대했던 작업 솔루션과 함께 넣었습니다. 고마워. –

답변

0

솔루션 :

덕분에 @yorkw하기 - 그의 대답은 솔루션으로 나를 이끌었다.

Maven-Eclipse 플러그인을 설치하고 pom.xml에 종속성을 추가하면 자동으로 Maven 저장소에서 해당 jar를 찾아 "Maven 종속성"섹션에 추가합니다. 내가 이것을했을 때 이런 일은 발생하지 않았다.

@yorkw 답변을받은 후 항아리를 추가하면 효과가있었습니다. 그냥 그때 나는 이미 의존성을 가능하게했다는 것을 알았습니다. 그래서 그것의 단지 지옥을 위해, 나는 그들을 무능하게했고, 그들을 다시 가능하게했다. 그리고 갑자기 "Maven Dependenices"가 나타 났던 곳에서 나왔다. 휴.

(참고 : 내가 스크린 샷을 올리려고했는데 StackOverflow의 초보자이며 아직 이미지를 게시 할 수 없습니다. 시간이 지나면이 포스트를 편집하고 다른 사람들을 위해 스크린 샷을 넣어야합니다).

관련 문제