使用java.lang.NoClassDefFoundError的itext7 Hello World示例

问题描述 投票:0回答:1

我正在使用maven on centos 7,并从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项目,所以我无法弄清楚问题出在哪里。

maven itext itext7
1个回答
0
投票

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

  1. 使用Maven Assembly或Shade插件捆绑一个胖/超级jar。默认情况下,Maven不捆绑依赖项。通过使用其中一个插件,Maven将生成一个包含POM中指定的所有依赖项的jar。然后,您可以使用相同的命令行运行应用程序。有关详细信息,请参阅此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

© www.soinside.com 2019 - 2024. All rights reserved.