我正在寻找一种从命令行访问正在运行的java程序的方法。最好的办法是执行以下操作:
启动java应用程序:
bash$java -jar MyBundle.jar App
访问应用程序:
bash$test.sh param1 param2
因此,test.sh
以某种方式从 MyBundle.jar
调用 App
并传递值 param1
和 参数2
。
重要提示:我正在寻找非常快速的方法。 App
保留数据库连接,每次我需要访问数据库时启动 App
的成本非常昂贵。
我需要可以在 Ubuntu 和 Debian 中运行的解决方案。如果它能在 Mac 上运行 - 那就太好了。
感谢任何帮助!
最佳答案
我认为您需要采用客户端-服务器方法。您的应用程序是服务器,它作为后台进程运行并监听某个端口上的连接。您的客户端向服务器发出请求并返回响应。
在 java 中实现此功能的一种快速而简单的方法是将您的应用程序包装在 Jetty 中。 servlet 容器。例如,您可以将其设置为返回 JSON 响应,这很容易处理。
关于java - 从shell命令访问正在运行的java程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6188862/