6

我正在尝试开发一个接受用户输入并转换为文本文件的网站。然后将文本文件用作文件的输入.jar。(例如java -jar encoder.jar -i text.txt),然后jar 会输出一个.bin文件供用户下载。

这个 jar 旨在从命令行运行,我真的不知道在.jsp页面中实现它的最佳方法。我创建了一些 java 测试类,但到目前为止没有任何效果。

有人对可能的方法有任何建议吗?

4

3 回答 3

3

将其作为外部进程运行的另一种方法是在当前 JVM 中调用其主类:

  1. 提取/打开META-INF/MANIFEST.MF罐子
  2. 识别Main-Class:. 说它叫EncoderMainClass
  3. 调用它的main方法:EncoderMainClass.main("-i", "text.txt")

这会更快,因为不需要创建新的操作系统进程,但可能存在安全考虑。

于 2012-11-18T16:48:06.370 回答
0

你有没有尝试过这样的事情,

创建一个java文件

使用 aProcessBuilder并启动一个新的 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:做句柄来销毁进程,否则它会吃掉所有的内存

于 2012-11-18T16:11:02.087 回答
0

您可以将此 jar 放到类路径上的 Web 应用程序中,并使用它的类和方法。如果您没有源代码,则最好有javadoc 。但即使不在classpath你也可以试试例子这个例子

于 2012-11-18T16:17:07.403 回答