我有一个Java可执行文件(.exe),它将一个给定的JRE放在同一个文件夹中,用于实际运行该文件夹。
我想把这个可执行文件放在Windows任务调度程序上。
我用一些C++ hello world程序做了一些测试,结果一切都很好。这个Java程序,直接运行(通过两次单击或其他方式)也很好(它应该写到文件和结束)。
但是,当我将程序放入任务计划程序时,它会立即退出,状态代码为0x0 (成功),实际上没有执行任何操作。
在Windows,我看到javaw.exe的启动和退出一瞥。
会是什么?与Java有关的东西?由于特定的任务调度器标志而产生的东西?
专用
launch4j构建的Java可执行文件。schtasks /create /tn MyETL /sc hourly /mo 3 /tr C:\ETL\etl.exe的调度器集发布于 2017-08-21 23:11:10
刚刚发现问题在于,程序实际上是在错误的文件夹中执行的,这样输出文件就不是我想象的那样了。
输出文件正在写入起始文件夹中,而不是程序的文件夹中。
发布于 2017-08-21 23:33:27
使用Windows运行应用程序时,如果该应用程序通过相对路径依赖于其他文件,则需要为任务设置start in。这将设置从何处开始执行的路径。
或者,您可以使用一个命令文件,并让它首先导航到正确的目录。
https://stackoverflow.com/questions/45766890
复制相似问题