maven - 来自 itext 的 jasper-reports 中的依赖错误

标签 maven jar jasper-reports dependencies itext

从昨天开始,由于 iText jar,我在使用 Maven 进行编译时遇到了问题。 我的项目依赖于 jasperreports-2.0.1,它依赖于 itext-1.02b 或更高版本。

<dependency>
    <groupId>com.lowagie</groupId>
    <artifactId>itext</artifactId>
    <version>[1.02b,)</version>
    <scope>compile</scope>
</dependency>

这是maven中的日志错误:

Failed to collect dependencies for [jasperreports:jasperreports:jar:2.0.1 (compile)]: Failed to read artifact descriptor for com.lowagie:itext:jar:4.2.2: Could not transfer artifact com.itextpdf:itextpdf:pom:4.2.2 from/to jaspersoft (http://www.jasperforge.org/maven2): Access denied to http://www.jasperforge.org/maven2/com/itextpdf/itextpdf/4.2.2/itextpdf-4.2.2.pom. Error code 403, Forbidden -> [Help 1] 

我明白了here Amedee Van Gasse 的评论谈到了没有 jar 的 4.2.2 版本。

为什么 1.02b 版本附加到 4.2.2?

编辑: Jasper-reports 使用开放版本范围:

[1.02b,)

这个范围告诉maven获取库的最新版本。

update从 iText 添加没有 jar 的新版本 Pom 并将 maven-central 的 maven-metadata 编辑到该 no-jar 版本会导致所有 jar 的编译崩溃,具体取决于最新的 com.lowagie 库。

从 ...m2\repository\com\lowagie\itext 本地更新您的 maven-metadata-central.xml(以及其他元数据,如果您的公司有自己的 nexus.public) 有效。临时解决方案,直到 iText 更新元数据或所有依赖其最新版本的公司更新其 pom

<metadata modelVersion="1.1.0">
  <groupId>com.lowagie</groupId>
  <artifactId>itext</artifactId>
  <versioning>
    <latest>4.2.1</latest>
    <release>4.2.1</release>
    <versions>
      <version>0.99</version>
      <version>1.1.4</version>
      <version>1.02b</version>
      <version>1.2.3</version>
      <version>1.3</version>
      <version>1.3.1</version>
      <version>1.4</version>
      <version>1.4.8</version>
      <version>2.0.1</version>
      <version>2.0.6</version>
      <version>2.0.7</version>
      <version>2.0.8</version>
      <version>2.1.0</version>
      <version>2.1.2</version>
      <version>2.1.3</version>
      <version>2.1.4</version>
      <version>2.1.5</version>
      <version>2.1.7</version>
      <version>4.2.0</version>
      <version>4.2.1</version>
    </versions>
    <lastUpdated>20150709153501</lastUpdated>
  </versioning>
</metadata>

最佳答案

更简单的解决方案可能是升级到更新版本的 jasperreports。版本 6.1.0 对 iText 具有以下依赖性:

<dependency>
    <groupId>com.lowagie</groupId>
    <artifactId>itext</artifactId>
    <version>2.1.7.js2</version>
    <scope>compile</scope>
</dependency>

不再对 iText 进行“ float ”依赖,它是为 jasperreports 定制的版本!

参见http://mvnrepository.com/artifact/net.sf.jasperreports/jasperreports/6.1.0完整的 pom.xml

关于maven - 来自 itext 的 jasper-reports 中的依赖错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31314373/

相关文章:

eclipse - 使用 m2e 配置 Eclipse Formatter

java - 在基于maven配置文件的spring-boot项目中跳过maven shade插件

java - 添加 googlemaps vaadin 库后 Vaadin 不编译 Widgetset

java - 我如何将这个 bat 文件转换为 linux 加载 java 程序的 shell 脚本

jasper-reports - 贾斯珀报告 : Overlapped fields not shown in excel output

maven - 传递依赖

java - 如何在eclipse或jar-file-explorer中查看jar文件的内容

java - 如何使用外部库运行 Jar 文件?

java - 动态 jasper 或 jasper 报告不适用于 Maven 依赖项 : Failed to read artifact descriptor for com. itextpdf :itext-pdfa:jar:5. 5.0

java - 动态列单元格宽度