我剛安裝了maven eclipse插件,都很棒。我曾嘗試創建我的第一個魔咒。安裝完成後,它已經下載了所有必需的依賴關係。eclipse爲什麼在添加到依賴項部分後未能解決Maven插件依賴項?
現在困擾我的是Eclipse無法解決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類(因此,我認爲它是不能夠找到需要更新的jar,我猜它應該在Eclipse-Maven集成之後自動獲取)。
當我建立它,它建立得很好。
當你說它構建得很好時,你在使用maven還是Eclipse構建?我看不到添加特定於任何可能具有MojoExectionException類的mojo jar的依賴關係。 – Metalhead
確保maven-plugin-api.jar在你的Maven本地存儲庫中成功下載並存在於Eclipse項目的classpath中。 – yorkw
謝謝@yorkw,你的回答讓我找到了解決辦法。我已經將下面的答案與我期待的工作解決方案一起提出。謝了哥們。 –