我想调用本包里面的fhash.exe文件,如果不加磁盘上面的路径,就没法执行。加了能执行,但是如果我打了jar包,到别的电脑上,就没法运行,找不到.exe应用的路径了。
可以将exe所在的路径添加到系统或用户环境变量中
有没有不加这样的路径的办法呢?就是直接调用本包中的应用程序,不用弄路径这些,就像调用一个类或者方法一样的办法呢?
@南幕南影bit: 在程序中不加路径,而是把路径添加到环境变量中,这样的话,Java程序调用exe的时候,从环境变量中查找的
@秋壶冰月: 可能是我表达不太清楚……我想的就是在JAVA中用一个按钮,BUTTON,按了这个button之后,就打开这个应用程序,但是想的是,我打了包之后,我用的路径是本地的路径,如d:program\\aa\\bb\\.fhash.exe这样使用没问题。但是打了包之后换一个有JAVA环境的电脑他的路径就不是我直接写的路径,就打不开了。
@南幕南影bit: 我的意思很明了呀! 在你程序中exec调用flash.exe, 然后在你所在的电脑上,配置一下环境变量,这样在你程序中调用flash.exe的时候,会优先从环境变量中进行查找的.以后部署的时候,就在所在的电脑上配置环境变量即可.
@秋壶冰月: 配好环境变量之后,怎么使用来调用程序呢?……我是学习中的萌新,请您指导……
@南幕南影bit: 你是如何配置Java环境的,是不是要配置环境变量呀!不然你不能在cmd行中直接使用java去运行你的java程序吧!这是一个道理的
@秋壶冰月: 除了那个fhash.exe的环境变量,其它的都是标准的JAVA环境变量。
@秋壶冰月: 这个是环境变量
@南幕南影bit: 系统中不管有Java的环境变量中,还有其他环境变量,只是告诉你可以通过变量调用exe,当然还有其他的方式.算了,你把flash放到JAVA_HOME变量/bin目录下吧.简单粗暴
@秋壶冰月: 放到JAVA_HOME目录下之后,怎么调用应用呢……用什么函数,或者什么方法呢。
@南幕南影bit:
Runtime runtime = Runtime.getRuntime(); runtime.exec("notepad"); //notepad是Windows自带的记事本 //这里为什么没加文件所在路径,是因为系统默认添加了,在系统环境变量path,有一个叫%SystemRoot%\system32的路径(Windows 10),notepad所在的路径%SystemRoot%\system32指向的路径.
@秋壶冰月: 我知道了!!!谢谢您!
@秋壶冰月: 以后不懂的地方,还请您多多指导!!谢谢您!:)
@南幕南影bit: 好的呀!