Java 便携式Chrome与本地安装的Chrome不同?
我有一个Java应用程序,运行本地嵌入式jetty,带有静态文件和rest端点。我想将其与便携式chrome一起发布,并从我的应用程序中运行浏览器(以呈现html/js(UI))。当浏览器终止时,我需要关闭jetty和应用程序。 我正在通过Java 便携式Chrome与本地安装的Chrome不同?,java,google-chrome,process,Java,Google Chrome,Process,我有一个Java应用程序,运行本地嵌入式jetty,带有静态文件和rest端点。我想将其与便携式chrome一起发布,并从我的应用程序中运行浏览器(以呈现html/js(UI))。当浏览器终止时,我需要关闭jetty和应用程序。 我正在通过 Process p = Runtime.getRuntime.exec("path to chrome with parameters etc") 然后 p.waitFor(); 挂起我的等待线程,直到浏览器关闭并正常工作 当用户在本地运行自己的chro
Process p = Runtime.getRuntime.exec("path to chrome with parameters etc")
然后
p.waitFor();
挂起我的等待线程,直到浏览器关闭并正常工作
当用户在本地运行自己的chrome实例时,问题就出现了。(我认为)我的可移植chrome进程“连接”到主chrome进程,并且p.waitFor()
方法将挂起,直到我关闭两个chrome实例。这是否可以像其他独立的系统进程一样运行便携式chrome?
我试过:
windows上存在问题
在Ubuntu中运行进程时:
String userDataDirFixed = " --user-data-dir=${HOME}/.gcp/";
browserProcess = Runtime.getRuntime().exec("/opt/google/chrome/google-chrome --app=" + uri.toString() + SUFFIX + userDataDirFixed);
即使是现在,当我使用chrome浏览器时,它仍然可以正常工作。
也许你能想出一些主意吗?:)
String userDataDirFixed = " --user-data-dir=${HOME}/.gcp/";
browserProcess = Runtime.getRuntime().exec("/opt/google/chrome/google-chrome --app=" + uri.toString() + SUFFIX + userDataDirFixed);