下面的相關使用2.1.2版的iText的,不知道如何使其使用iText的最新版本5.0.2。
首先,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>
甲我們可以看到它有不同的groupId
和artifactId
比以前的itext依賴關係,所以我們不能在這裏使用Maven的dependencyManagement
來強制使用這個版本(假設這個工件替換了前一個,我對此不知道)。所以這給我們留下了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。
會給這個嘗試,讓你知道 – Joe 2010-05-08 17:02:32
@Joshua我的回答涵蓋了你的問題的Maven部分。代碼將在運行時工作嗎?我不知道。但這是另一個超出問題範圍的故事。 – 2010-05-09 08:29:30
很可能它在運行時不起作用。也許甚至不會編譯。 但我認爲只是嘗試它而不是在這裏詢問會更快。 – 2010-05-15 02:36:04