当前位置: 首页 > 知识库问答 >
问题:

Maven为包含的JAR依赖项定义子依赖项

巴学潞
2023-03-14

我正在开发一个Java项目,使用maven作为依赖项管理器/构建工具。我当前在将依赖项的依赖项解析到正确版本时遇到问题。

有问题的依赖项称为JasperReports-Functions-6.1.0.jar,它不是托管在maven repo中,而是以jar形式提供的。

pom.xml snip:

    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>6.1.0</version>
    </dependency>

    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports-functions</artifactId>
        <version>6.1.0</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/jasperreports-functions-6.1.0.jar</systemPath>
    </dependency>

    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.6</version>
    </dependency>
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:2.4:jar (default-jar) on project JavaLibrary: Execution default-jar of goal org.apache.maven.plugins:maven-jar-plugin:2.4:jar failed: Plugin org.apache.maven.plugins:maven-jar-plugin:2.4 or one of its dependencies could not be resolved: Failed to collect dependencies at org.apache.maven.plugins:maven-jar-plugin:jar:2.4 -> commons-lang:commons-lang:jar:2.1: Failed to read artifact descriptor for commons-lang:commons-lang:jar:2.1: Could not transfer artifact commons-lang:commons-lang:pom:2.1 from/to central (https://repo.maven.apache.org/maven2): C:\Users\Lowell\.m2\repository\commons-lang\commons-lang\2.1\commons-lang-2.1.pom.part.lock (Access is denied) -> [Help 1]

如何强制jar依赖项使用子依赖项的某个版本?

共有1个答案

司马自明
2023-03-14

您是否尝试重新排序依赖项,首先加载commons-lang,然后加载jasperreports?编辑:也许这应该对您有所帮助:依赖:analyze-dep-Mgt

 类似资料:
  • 问题内容: 有没有一种方法可以强制maven(2.0.9)将所有依赖项包含在单个jar文件中? 我有一个构建到单个jar文件中的项目。我希望将依赖项中的类也复制到jar中。 更新:我知道我不能只在jar文件中包含jar文件。我正在寻找一种方法来解压缩指定为依赖项的jar,并将类文件打包到我的jar中。 问题答案: 你可以使用带有描述符的插件来执行此操作。这是我们之一的相关块,它可以完成此任务:

  • 根据我的理解,包含/排除只是白名单/黑名单,所以我不能显式地强制包含一些没有包含在实际依赖列表中的内容。 为了获得更多的上下文,我有一个JAR依赖项,它包含一个资源,我只希望它包含在我的shade工件中,但是在类路径上使用该JAR会导致错误。 明确地说,我希望在一个调用中生成一个带有附加依赖项的阴影jar,以及一个没有附加依赖项的普通jar。

  • 我正在尝试用maven-shade插件2.1构建一个uber-jar。我希望它包括我的jar和依赖jar中的所有类。但我发现它不包括依赖jar中的类。我可能做错了什么?以下是我在pom.xml中对maven-shade插件的用法。可能是因为finalName与project.artifactid相同吗?

  • 本文向大家介绍用Maven打成可执行jar,包含maven依赖,本地依赖的操作,包括了用Maven打成可执行jar,包含maven依赖,本地依赖的操作的使用技巧和注意事项,需要的朋友参考一下 因为今天一个朋友学习过程中用到了maven项目编写代码,到了最后打包阶段打的包不能运行,一时我也没想起来具体操作步骤,后来我百度学习了一下,特此记录下,以便后续自己查阅。 maven项目中不可避免的需要用到依

  • null 0.0.1-快照 _remote.repositories Maven-metadata-local org-utility-0.0.1-snapshot.jar org-utility-0.0.1-snapshot.pom org-utility-0.0.1-snapshot-jar-with-dependencies.jar 因此,我能够将jar“retrieve org-utili

  • 我用我的真实情况来说明问题。 我使用logback 1.0.1进行日志记录,它包含SLF4J 1.6.4作为依赖项。我还为遗留日志API(Java . util . logging、log4j和commons-logging)使用SLF4J API桥,它们不是显式的依赖关系。这些也必须(最好)是版本1.6.4。 为了使我的pom.xml尽可能整洁和无错误,我想强制这些API桥接器与SLF4J版本相