【问题标题】:Run a main from a class using maven使用 maven 从类中运行 main
【发布时间】:2019-10-31 18:38:45
【问题描述】:

尊敬的支持者, 我已经克隆了这个 repo https://github.com/BrentDouglas/pdfbox 并在此之后制作了

cd examples

之后我运行

mvn clean install

该命令在示例文件夹内生成一个文件夹目标,其 jar 名称为 pdfbox-examples-3.0.0-SNAPSHOT.jar。我正在尝试使用

运行 org.apache.pdfbox.examples.signature.CreateSignature 的主类
java -cp target/pdfbox-examples-3.0.0-SNAPSHOT.jar org.apache.pdfbox.examples.signature.CreateSignature

但我明白了

Error: Could not find or load main class org.apache.pdfbox.examples.signature.CreateSignature

我的命令有什么问题?你能帮帮我吗?

【问题讨论】:

  • jar 没有正确添加到你的类路径中,所以找不到主类。你做了一个cd examples,然后在你的类路径中引用examples/target/...?你确定这是正确的?这不应该是target/...,因为您已经在示例目录中了吗?
  • @TheWhiteRabbit 抱歉,我解决了我的问题。

标签: java


【解决方案1】:

正如在 cmets 中已经说过的,您没有正确设置类路径。由于您已经在示例目录中,它应该是java -cp target/...

但您真正的问题是您没有将所有依赖项都放入类路径中。您可以通过在examples 目录中运行以下命令来检索完整的类路径:

mvn dependency:build-classpath

所以你的最终命令在 Unix 上应该是这样的:

java -cp <output of dependency plug-in>:pdfbox-examples-3.0.0-SNAPSHOT.jar org.apache.pdfbox.examples.signature.CreateSignature

或者在 Windows 上:

java -cp <output of dependency plug-in>;pdfbox-examples-3.0.0-SNAPSHOT.jar org.apache.pdfbox.examples.signature.CreateSignature

顺便说一句。我认为您应该使用this repo,因为 PDFBox 已迁移到 Apache Github 组织。

【讨论】:

  • 或者从 maven 获取 pdfbox jar 文件。 3.0.0 是开发主干。
猜你喜欢
  • 1970-01-01
  • 2023-04-01
  • 2017-01-30
  • 2014-01-09
  • 1970-01-01
  • 1970-01-01
  • 2019-01-01
  • 2018-07-28
  • 2013-03-02
相关资源
最近更新 更多