eclipse plugin(3)maven-dependency-plugin

本文介绍了解决在Eclipse中导入Maven项目时遇到的maven-dependency-plugin错误的方法。通过配置pom.xml文件中的lifecycle-mapping元数据及调整maven-dependency-plugin版本与执行设置,成功解决了Eclipse中的依赖问题。
eclipse plugin(3)maven-dependency-plugin

Recently, I import one maven project from my collegues. I got this error message when I import this in my eclipse:
error message:
maven-dependency-plugin(goals "copy-dependencies", "unpack") is not supported by m2e.

solution:
...snip...
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<versionRange>[2.0,)</versionRange>
<goals>
<goal>copy-dependencies</goal>
<goal>unpack</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>unpack</id>
<phase>compile</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.digby.graphite</groupId>
<artifactId>store-shared</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/${project.artifactId}</outputDirectory>
<destFileName>optional-new-name.jar</destFileName>
<includes>**/*.js,**/*.xml</includes>
<excludes>**/*test.class</excludes>
</artifactItem>
</artifactItems>
<includes>**/*.java</includes>
<excludes>**/*.properties</excludes>
<outputDirectory>${project.build.directory}/wars</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
<stripVersion>true</stripVersion>
<excludeTransitive>false</excludeTransitive>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
...snip...

It works fine now.

references:
http://jeekchen.iteye.com/blog/1153103
http://blog.youkuaiyun.com/smst1987/article/details/6871495
#### maven-jar-plugin 打包原理 maven-jar-pluginMaven 中用于将项目的编译后的类文件、资源文件等打包成 JAR 文件的插件。它会根据配置,将项目的 `target/classes` 目录下的类文件以及指定的资源文件收集起来,按照 JAR 文件的格式进行打包。 在配置方面,通过 `<archive>` 标签可以对 JAR 文件的元数据进行配置,例如 `<manifest>` 标签可以设置 JAR 文件的清单文件内容。清单文件中可以指定主类(`Main-Class`),这是可执行 JAR 文件的关键配置,使得 JAR 文件可以通过 `java -jar` 命令来执行。同时,还可以设置类路径(`Class-Path`)等信息。 #### maven-dependency-plugin 打包原理 maven-dependency-plugin 的主要作用是处理项目的依赖。当使用该插件的 `copy-dependencies` 目标时,它会从本地 Maven 仓库中查找项目所依赖的所有 JAR 文件,并将这些依赖文件复制到指定的输出目录(通常是 `target/lib` 目录)。 这样做的目的是将项目的依赖与项目本身的 JAR 文件分离,方便管理和部署。在构建可执行 JAR 文件时,结合 maven-jar-plugin,将依赖文件复制到单独的目录后,可以在 JAR 文件的清单文件中设置 `Class-Path` 指向这些依赖文件,从而让 JAR 文件在运行时能够找到所需的依赖。 不过,使用 maven-dependency-plugin 包后可能会把 maven-jar-plugin 打包的配置文件忽略打包,需要再单独配置 resources 打包配置文件[^1]。 ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>com.example.MainClass</mainClass> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.2.0</version> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> </build> ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值