【发布时间】:2016-02-15 11:40:43
【问题描述】:
我正在使用.jar 文件,但不幸的是,它是一个黑匣子,即我不知道里面到底有什么,也不知道它是如何工作的。
我正在从 Python 脚本向 Mac 终端发送命令。我输入以下命令:
java -jar jarfile.jar req_data /abs_path/to/required/data input path/to_my_/input/file.txt
这可以满足我的需要:使用“黑匣子”分析输入并创建带有分析输出的新文件。这个新文件是在jarfile.jar 所在的文件夹中创建的。
我希望在创建时将此文件放在其他位置。
我尝试过使用> 运算符,指定路径,例如:
java -jar jarfile.jar req_data /abs_path/to/required/data input path/to_my_/input/file.txt > /output/path/
这在我想要的位置创建了 a 文件,但它只是来自终端的消息,说“操作已成功执行” - 分析结果文件是在与以前相同的文件夹中创建的.
我也试过%*>,但是报错了。
作为一个糟糕的解决方法,我现在有一个函数,它可以追溯查找所有新创建的文件(分析输出)并将其移动到我想要的文件夹中。
有没有办法用命令行在原始命令中控制输出文件?还是在我的jar 文件中的某处指定的内容?我的问题是不允许编辑它。
【问题讨论】:
-
当您使用来自不同工作目录的绝对路径调用 jar 时会发生什么?你有反编译jar吗?也许它支持命令行参数或包含您可以从自己的 Java 代码轻松调用的类。
-
如果我从具有绝对路径的不同目录调用它,该文件仍会在 jar 文件本身所在的位置创建。我发现我可以在 jar 文件上运行 -help,这为我提供了一些其他选项(特定于黑盒魔法),但没有用于指导输出文件。