我正在尝试开发一个接受用户输入并将其转换为文本文件的网站。然后,该文本文件将用作 JAR 文件的输入。 (例如
java -jar encoder.jar -i text.txt
),jar 然后输出一个 BIN 文件供用户下载。
这个 jar 被设计为从命令行运行,我真的不知道在 JSP 页面中实现它的最佳方法。我创建了一些 Java 测试类,但到目前为止没有任何效果。
有人对可能的方法有什么建议吗?
将其作为外部进程运行的另一种方法是在当前 JVM 中调用其主类:
META-INF/MANIFEST.MF
Main-Class:
。说它叫EncoderMainClass
main
方法:EncoderMainClass.main("-i", "text.txt")
这会更快,因为不需要创建新的操作系统进程,但可能存在安全考虑。
你尝试过这样的事情吗
创建一个java文件
使用
ProcessBuilder
并启动一个新的 JVM。
这里有一些可以帮助您开始的东西:
ProcessBuilder pb = new ProcessBuilder("/path/to/java", "-jar", "your.jar", "thetextfile.txt");
pb.directory(new File("preferred/working/directory"));
Process p = pb.start();
ps:执行销毁进程的句柄,否则它将耗尽所有内存
您可以将此 jar 放入 classpath 上的 Web 应用程序并使用它的类和方法。如果你没有源代码,如果你有 javadoc 会更好。但即使不在
classpath
中,您也可以尝试 example 或 this example。