【问题标题】:Apache PDFBox missing classes when run on Ubuntu server (18.04)在 Ubuntu 服务器 (18.04) 上运行时,Apache PDFBox 缺少类
【发布时间】:2021-04-23 15:34:07
【问题描述】:

我在尝试从 Apache PDFBox 命令行工具查找 Version 类时收到以下错误:

$ java org.apache.pdfbox.tools.Version -cp pdfbox-tools-3.0.0-RC1.jar
Error: Could not find or load main class org.apache.pdfbox.tools.Version
Caused by: java.lang.NoClassDefFoundError: picocli/CommandLine$IVersionProvider

以不同的方式运行时也会收到此错误:

$ java -jar pdfbox-tools-3.0.0-RC1.jar Version ../sample_pdfs/test_1.pdf
no main manifest attribute, in pdfbox-tools-3.0.0-RC1.jar

在 Ubuntu Server 18.04 下的命令行上运行 PDFBox 工具是否有其他人遇到过类似的问题? Java 新手,我已经在命令行上加载并测试了小程序构建,它们构建和运行良好。最近添加了所有 java 和 javac 组件并设置了 CLASSPATH。不知道我错过了什么。但是基于命令行的 PDFBox 示例,这应该可以工作。

【问题讨论】:

    标签: java ubuntu pdfbox


    【解决方案1】:

    要使用命令行工具,您需要使用 pdfbox-app,如here 所述。 pdfbox-tools 子项目用于工具 API。

    【讨论】:

    • 在尝试仅工具版本之前,我确实尝试了应用程序版本。但似乎 3.0.0 版本存在问题。运行版本 2.0.23 一切正常。请注意,版本 3.0.0 在 Windows 10 上测试时运行良好,但在 Ubuntu 18.04 上运行时失败并出现许多错误。由于返回的错误数量和 Stackoverflows 对评论大小的限制,我无法在此处发布。但是 18.04 与 2.0.23 版本可以正常工作,因此 Ubuntu 需要的最新版本中缺少一些东西(它显示了许多与包 picocli 相关的错误。还有 awt 无头问题。
    • 如果你坚持从命令行运行 pdf-tools 那么是的,你需要在类路径中使用 picocli 并且你必须告诉你想要运行什么类。 pdfbox-app 应该自己运行。您的评论不清楚 pdfbox-app 是否有同样的问题。
    • 对于我之前的回复中的困惑,我深表歉意。是的,我指的是应用程序(不是工具)。 pdfbox-app 存在一个问题,它在 Ubuntu Server 18.04 上返回错误,这些错误在运行先前版本时不存在。所以,是的,我确实在运行应用程序版本。我遇到的问题是尝试在 18.04 上运行 3.0.0 版应用程序时(尽管 2.0.23 版应用程序在 18.04 服务器上运行良好)。
    • 我在一台旧机器上安装了 ubuntu,在我安装了无头 java 之后出现了这个错误askubuntu.com/questions/695560/…。卸载后,它以某种方式安装了一个正常工作的java。
    • 我刚刚修复了无头系统上的另一个问题,您可以在此处尝试使用快照repository.apache.org/content/groups/snapshots/org/apache/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    • 2019-03-22
    相关资源
    最近更新 更多