问题标签 [maven-dependency-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3436 浏览

maven - 本地 Maven 依赖项目被引用为类文件夹而不是 jar

我将 Eclipse Indigo 与 m2e 插件(版本 1.0.1)一起使用。我有两个单独的工作区项目:一个基本上是 Vaadin 小部件的 Maven 项目和第二个 Maven 项目,它是我的主要项目,它通过以下方式引用该小部件:

如果我在小部件项目上运行 mvn clean install ,它将被正确打包为 jar 并且也可以在我的本地 Maven 存储库中使用。我还可以在我的主项目中使用小部件的类。但是,在我的主项目的 Maven 依赖项中,小部件项目显示为类文件夹而不是 jar(尽管所有其他外部小部件依赖项都显示为 jar 文件)。

当我尝试使用dependency:unpack-dependencies(resp.dependency:copy-dependencies)解压(甚至复制)依赖项到我的主项目时,这会导致一些问题。Maven 构建失败,原因如下:

我的问题是:如何在我的主项目中将我的小部件项目引用为 jar 而不是类文件夹?

0 投票
1 回答
6832 浏览

java - maven-dependency-plugin 在 jar-with-dependencies.jar 文件中生成重复文件

我正在使用 maven 创建一个独立的 java 应用程序,并且我在 jar 文件中使用maven-dependecy-plugin包含依赖项,如下所示:

这包括 lib 文件夹中生成的 jar 文件中的依赖项,并且 jar 运行正常,但问题出在另一个生成的 jar 文件appname-1.0-jar-with-dependencies.jar中。

问题:我不确定这是否是一个问题,但我注意到在生成的目标文件夹中appname-1.0-jar-with-dependencies.jar,它包含重复的应用程序文件,例如:

  1. 所有 sql,property files,xml 文件都存在两次。
  2. 所有 java 类 .class 文件都存在两次。
  3. 有很多与依赖项相关的overview.html 和license.txt 文件。

我不确定这是否正确,我也需要有人为我澄清这个生成的 jar 文件的重要性,因为我不熟悉这个插件。

请指教,谢谢。

0 投票
5 回答
13390 浏览

maven - maven-dependency-plugin 目标/类 - 访问被拒绝

我有一个多模块项目,有一个父项目 A,两个子项目 B 和 C。项目 B 对项目 C 有依赖关系。我使用 maven-dependency-plugin 将 B 的依赖项复制到 lib/ 目录中目标/目录。因此,我可以使用 maven-assembly-plugin 将此 lib/ 目录包含在最终的 zip 中。问题是当我在项目 B 上运行 mvn clean package 时出现以下错误:

在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) ... 还有 19 个

引起:java.io.FileNotFoundException: D:\path-to-projects-directory\C\target\classes(访问被拒绝)

在 java.io.FileInputStream.open(本机方法)

在 java.io.FileInputStream.(FileInputStream.java:120)

在 org.codehaus.plexus.util.io.FileInputStreamFacade.getInputStream(FileInputStreamFacade.java:36)

在 org.codehaus.plexus.util.FileUtils.copyStreamToFile(FileUtils.java:1141)

在 org.codehaus.plexus.util.FileUtils.copyFile(FileUtils.java:1048)

在 org.apache.maven.plugin.dependency.AbstractDependencyMojo.copyFile(AbstractDependencyMojo.java:192) ... 23 更多

有人有想法吗?

我在网上做了一些研究,发现存在这样的问题(请参阅http://jira.codehaus.org/browse/MWAR-192,这是针对战争的,但我对 JAR 也有类似的问题)。似乎无法访问项目C的target/classes目录来创建C.jar(C.jar必须包含在项目B的lib/目录中)。

谢谢

0 投票
3 回答
8979 浏览

tomcat - Maven:将 zip 工件解压缩到特定文件夹名称

我正在尝试下载 tomcat zip 工件并将其解压缩到一个名为 tomcat 的文件夹中。我得到的是 tomcat/apache-tomcat-7.0.19/ 我怎样才能摆脱烦人的中间目录?

0 投票
1 回答
196 浏览

maven - Maven 插件工件过滤不重要的依赖项

我正在开发一个 Maven 插件并使用该MavenProject对象来访问我的依赖项project.getDependencyArtifacts(),但这给了我所有的 jar,甚至是仅测试的 jar。

有什么方法可以过滤所有非运行时 jar 吗?如果我只是获得范围并进行比较,scope.equals("runtime")我将丢弃编译和其他重要的依赖项。

0 投票
2 回答
1946 浏览

maven - 如何忽略 maven-dependency-plugin 复制目标错误?

在使用 maven-dependecy-plugins 复制目标打包之前,我正在将资源复制到另一个文件夹中。

该资源并不重要,很可能无法访问。这就是为什么我希望构建在不可访问时不会失败的原因。我已经将 failBuild 属性设置为 false,但它没有效果。有没有办法做到这一点?

0 投票
2 回答
276 浏览

maven - 如何从 CLI(不在项目目录中)下载 Maven 工件及其依赖项的 Java 源代码?

注意:maven-dependency-plugin 不适合这里,原因如下

我正在将项目部署到 Artifactory 并附有源代码。我希望能够运行命令来下载和解压缩给定工件及其依赖项的源代码。我将使用它来区分工件的两个版本。

我想做的基本上是这样的:

尝试结合 maven-dependency-plugin 中的几个目标,但这似乎无法满足我的需要:

  • :unpack-dependencies需要一个项目
  • :get要求我明确指定一个远程仓库。为什么它不能使用我的 settings.xml 中的那些?

我已经尝试编写自己的 mojo 来做到这一点,但我很困惑,因为除非我在项目目录中,否则我似乎无法处理远程存储库。因此我无法下载该项目。即使我下载了项目,mojo 也已经初始化了它的 ${project} 因此我将无法获取它的依赖项等

感谢您的帮助。

0 投票
2 回答
2203 浏览

java - Maven依赖插件忽略目的地

我正在使用命令行中的 maven-dependency-plugin 下载单个文件,但它总是在我的本地存储库中结束,对于我的特定用例,我希望将它下载到当前目录。

我正在使用插件的 2.4 版本,它应该支持 -Ddestination 作为备用下载站点;但是,我无法让它工作。在调试模式下运行 maven 似乎表明目标参数被忽略了......

我正在运行以下内容:

...但是得到这个...

我究竟做错了什么?

0 投票
1 回答
2185 浏览

maven - 在 Maven 中,如何生成包含我正在构建的工件的类路径文件?

我正在使用maven-dependency-plugin:build-classpath构建类路径文件。为了支持遗留部署,除了通常的依赖 JAR 集之外,我还需要这个文件来包含我正在构建的工件。

当前类路径文件:

我想要的类路径文件:

我正在考虑使用 maven-antrun-plugin 生成一个包含工件 JAR 的类路径的文件,然后使用 build-classpath 选项添加依赖项 JAR。但这似乎并不优雅。有没有更好的办法?

0 投票
1 回答
4186 浏览

maven - maven-dependency-plugin unpack 未在阶段执行

我正在打包一个 ejb,我需要将一些依赖项中的 .classes 包含到 jar 中,我正在尝试使用maven-dependency-plugin解压工件并将文件放入我的${project.build.directory }/classes阶段的目录,但是当我执行mvn package时,我没有看到任何日志或对 maven-dependency-plugin 的引用(没有任何反应),我什至尝试放置无效版本的插件,它甚至没有抛出异常。

在我的 pom.xml 下面

我错过了什么?

PS:工件模型安装在本地仓库中,我也尝试过其他阶段。