【问题标题】:Run jar in a java apllication ( pdfbox )在 java 应用程序中运行 jar ( pdfbox )
【发布时间】:2013-05-24 12:41:03
【问题描述】:

我正在用 java 编写一个将数据和图像存储为 pdf 的应用程序。我正在使用pdfbox。我看到那个 pdf 盒子有一些 jar,比如必须通过命令行运行的用于数据加密的 jar。

有没有办法在我的班级的一个功能中运行这些 jar?我的意思是在事件发生后开始由这个 jar 处理的加密。如何从我的班级中启动命令行?

例如:

if(IHaveData() && FileCreated())
*Encrypt the data*

提前感谢所有愿意提供帮助的人,即使问题可能很愚蠢或其他问题

【问题讨论】:

标签: java pdf encryption jar pdfbox


【解决方案1】:

我们不运行罐子。我们运行应用程序。 Java 应用程序由一组类和资源组成,这些类和资源可以存储在文件系统或jar 文件中。

要运行 java 应用程序,您应该使用类似的命令行

java -cp one.jar;two.jar;three.jar Main

在哪里

  • x.jar - jar 文件
  • ; - 窗口分隔符。用途:用于 unix
  • Main 是您的入口点的完全限定类名。

您显然可以使用Runtime.getRuntime().exec()ProcessBuilder 从java 程序运行任何命令行。 “任何”意味着您显然可以从其他 java 应用程序运行 java 应用程序。

但是这种方式有很多明显的缺点。相反,您应该运行您正在使用的库公开的 API。如果它没有公开方便的 API,你可以在更糟糕的情况下直接从你的程序中调用 main 方法:

Main.main(new String[] {param1, param2})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 2014-09-09
    • 2013-04-21
    • 2011-04-06
    相关资源
    最近更新 更多