gpt4 book ai didi

java - seam iText 集成库

转载 作者:行者123 更新时间:2023-11-30 07:37:19 26 4
gpt4 key购买 nike

seam iText 集成似乎使用旧版本的 iText jar,是否可以使用最新的 iText 5.0.2 特定 jar 作为 Maven 依赖项的一部分。以前有人这样做过吗?

http://repository.jboss.org/maven2/org/jboss/seam/jboss-seam-pdf/2.2.0.GA/jboss-seam-pdf-2.2.0.GA.pom http://repository.jboss.org/maven2/com/lowagie/itext/2.1.2/itext-2.1.2.pom

下面的依赖使用了2.1.2版本的iText,不知道如何让它使用最新的5.0.2版本的iText。

        <dependency>
<groupId>org.jboss.seam</groupId>
<artifactId>jboss-seam-pdf</artifactId>
<version>${jboss-seam.version}</version>
<exclusions>
<exclusion>
<groupId>org.jboss.seam</groupId>
<artifactId>jboss-seam</artifactId>
</exclusion>
<exclusion>
<groupId>org.jboss.seam</groupId>
<artifactId>jboss-seam-ui</artifactId>
</exclusion>
</exclusions>
</dependency>

最佳答案

The following dependency uses 2.1.2 version of iText, not sure how to make it use the latest version 5.0.2 of iText.

首先,jboss-seam-pdf-2.2.0.GA.jar 具有以下依赖项(跳过排除项,请参阅根 POM org.jboss.seam:root:2.2.0.GA.pom 了解完整信息详情):

<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.2</version>
...
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext-rtf</artifactId>
<version>2.1.2</version>
...
</dependency>

其次,我能找到的唯一 itext 5.0.2 工件是 this thread 中提到的那个(并且在存储库中可用 http://maven.itextpdf.com/ ):

<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.0.2</version>
</dependency>

正如我们所见,它与之前的 itext 依赖项有不同的 groupIdartifactId 所以我们不能在这里使用 Maven 的dependencyManagement 来强制这个版本的使用(假设这个 Artifact 取代了之前的那个,我对此一无所知)。所以这给我们留下了 exclusions。像这样:

<project>
...
<properties>
<jboss-seam.version>2.2.0.GA</jboss-seam.version>
</properties>
<repositories>
<repository>
<id>itext</id>
<url>http://maven.itextpdf.com</url>
</repository>
<repository>
<id>jboss</id>
<url>http://repository.jboss.org/maven2</url>
</repository>
</repositories>
<dependencies>
...
<dependency>
<groupId>org.jboss.seam</groupId>
<artifactId>jboss-seam-pdf</artifactId>
<version>${jboss-seam.version}</version>
<exclusions>
<exclusion>
<groupId>org.jboss.seam</groupId>
<artifactId>jboss-seam</artifactId>
</exclusion>
<exclusion>
<groupId>org.jboss.seam</groupId>
<artifactId>jboss-seam-ui</artifactId>
</exclusion>
<exclusion>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
</exclusion>
<exclusion>
<groupId>com.lowagie</groupId>
<artifactId>itext-rtf</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.0.2</version>
</dependency>
</dependencies>
</project>

有了这个 POM,依赖树就变成了:

$ mvn dependency:tree...[INFO] [dependency:tree {execution: default-cli}][INFO] com.statckoverflow:Q2793234:jar:1.0-SNAPSHOT[INFO] +- junit:junit:jar:3.8.1:test[INFO] +- org.jboss.seam:jboss-seam-pdf:jar:2.2.0.GA:compile[INFO] |  \- com.sun.facelets:jsf-facelets:jar:1.1.15.B1:compile[INFO] \- com.itextpdf:itextpdf:jar:5.0.2:compile...

我并不是说这会在运行时工作,我只是给你一种用 Maven 替换依赖项的方法。

关于java - seam iText 集成库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2793234/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com