我想分发一个需要定期运行的jar脚本。我不知道最终用户会使用哪种操作系统。
我是否可以使用跨操作系统解决方案在每天的特定时间运行jar文件。
也就是说,在Windows中它添加了一个计划任务和一个cron任务等。
任何帮助表示赞赏!
答案 0 :(得分:4)
您可以使用用Java编写的任务调度框架来保证跨操作系统的可移植性 - 因为每个操作系统都有自己的调度命令,您将无法在不同平台上找到相同的工具。
例如,看看Quartz。但要注意,你必须学习如何配置,设置和编程任务,恕我直言,它不是 简单。但话说回来,这就是你为便携性付出的代价。
另一种选择是使用Timer
服务来安排任务(看看tutorial),但为此你需要一个符合Java EE的服务器。无论哪种方式都注意到“运行jar”实际上意味着在jar文件中执行main方法,这只是对Java程序的调用。
答案 1 :(得分:1)
如果您正在寻找与OS无关的调度程序,那么这样的事情就不存在了。 Quartz是java环境的任务调度程序。例如 - 您可以使用quartz来安排java程序中的任务。您必须编写一个java程序并一直运行它以便根据您的要求使用quartz。换句话说,您必须在操作系统启动时启动Java程序,以便它可以运行您的预定作业。手头的任务太复杂了!您应该考虑根据需要使用特定于操作系统的调度程序。