我在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项目,所以我不知道可能出问题了。
答案 0 :(得分:0)
我的猜测是您的运行时jar不包含捆绑的iText,并且iText没有添加到您的类路径中。两种选择:
使用Maven Assembly或Shade插件捆绑胖/超级罐子。 Maven默认情况下不捆绑依赖项。通过使用这些插件之一,Maven将产生一个jar,其中包含POM中指定的所有依赖项。然后,您可以使用相同的命令行运行您的应用程序。有关详细信息,请参见此SO问题:Building a fat jar using maven
在运行时将iText添加到类路径。您的命令行如下所示:
java -cp /path/to/iText-7/;target/xxx-1.0-SNAPSHOT.jar com.itext.app.App