Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过shell脚本中的(java脚本)接口控制java实例?_Java_Javascript_Python_Bash - Fatal编程技术网

通过shell脚本中的(java脚本)接口控制java实例?

通过shell脚本中的(java脚本)接口控制java实例?,java,javascript,python,bash,Java,Javascript,Python,Bash,我对java完全陌生,我指的是energy2d程序。它的源代码是 它作为嵌入式小程序运行(请参见github中的网站链接,因为我不允许发布多个url) (具有浏览器默认区域设置的函数) 或在命令行上: java -jar /home/ntu/Downloads/energy2d.jar 还有一些用于它的命令,-我进一步称它们为控制接口,我猜它们是一些公共方法,但不知道它们的确切术语-它们在运行时控制程序。请参阅网站手册scripts.html 可以在嵌入式shell中的程序内部使用它们,也可以

我对java完全陌生,我指的是energy2d程序。它的源代码是

它作为嵌入式小程序运行(请参见github中的网站链接,因为我不允许发布多个url) (具有浏览器默认区域设置的函数) 或在命令行上:

java -jar /home/ntu/Downloads/energy2d.jar
还有一些用于它的命令,-我进一步称它们为控制接口,我猜它们是一些公共方法,但不知道它们的确切术语-它们在运行时控制程序。请参阅网站手册scripts.html

可以在嵌入式shell中的程序内部使用它们,也可以在嵌入式applet中通过java脚本在网站源代码中看到如何调用它们

我不太明白这一点,它应该证明这一点 例如,在页面的源代码中使用字符串“reload”作为控件接口的引用。 就我目前所知,我不知道它们是在哪里定义的;在github Scripter2D.java#L55中,我对java代码进行了跟踪。(不知道这是否有帮助)

现在,我想从外部脚本中调用这些控制接口。让我们说一个bash脚本;最后,我希望它运行python

类似于命令行伪代码:

代码段开始

java -jar /home/ntu/Downloads/energy2d.jar #to start the application
java -do_to_running_program energy2d.jar -public_control_function load path/new_config.xml#to load another configuration file
java -_do_to_running_program -public_control_function run #to restart
片段结束

问题: -这是如何实现的? -如果不可能: 为了让java代码正常工作,更改java代码的最佳实践是什么


任何提示都将受到感谢。

假设:所谓“java脚本”,实际上是指您希望为java小程序提供一些服务接口,其他进程(本地或远程)可以访问这些接口,并且此服务接口可以由脚本驱动


如果是这样的话,那么是的,这是可以实现的——我想到了文件监视和jmx。你最关心的应该是安全性(例如,这里有:)。让您的applet公开这样一个接口对于测试来说是可以的(但单元测试几乎总是更好);但是,我强烈建议不要在最终的小程序中公开此类接口。

谢谢。好吧,我尽量做到最准确:如果我只是这个程序的用户,我不是作者。作者在网站上运行相同的代码,并将其作为jar文件提供。小程序正在网站上运行,是的,但我希望它作为本地二进制文件运行。鉴于这些功能已经实现为“服务接口”,如网站所述:“Energy2D的脚本用户界面(SUI)允许它与外部程序(如JavaScript)通信。”那么调用语法是什么呢?哦,好的。仅通过grepping遍历energy2d小程序源,它似乎将执行随“script”参数提供给小程序的任何脚本。它使用Thank检索此参数。考虑到应用程序的非web端,在现有代码中实现这样一个jmx服务接口机制需要付出什么努力?比如说,可能会有一个jmx pyhton库不管怎样,我在网上搜索了一下,却很少找到什么东西,一些教程之类的,关于那个。。。