带有java.lang.NoClassDefFoundError的itext7 Hello World示例

时间:2019-04-15 08:21:40

标签: maven itext itext7

我在centos 7上使用maven,并从 iText7 开始。 我按照教程编辑pom文件和Hello World项目,但是当我键入

java -cp target/xxx-1.0-SNAPSHOT.jar com.itext.app.App

我知道了

  

java.lang.NoClassDefFoundError:   com / itextpdf / layout / element / IBlockElement

因为我是刚在linux上创建Java项目,所以我不知道可能出问题了。

Error message enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

我的猜测是您的运行时jar不包含捆绑的iText,并且iText没有添加到您的类路径中。两种选择:

  1. 使用Maven Assembly或Shade插件捆绑胖/超级罐子。 Maven默认情况下不捆绑依赖项。通过使用这些插件之一,Maven将产生一个jar,其中包含POM中指定的所有依赖项。然后,您可以使用相同的命令行运行您的应用程序。有关详细信息,请参见此SO问题:Building a fat jar using maven

  2. 在运行时将iText添加到类路径。您的命令行如下所示:

java -cp /path/to/iText-7/;target/xxx-1.0-SNAPSHOT.jar com.itext.app.App