阻止java打开浏览器

阻止java打开浏览器,java,browser,Java,Browser,我想在本地运行这个工具,它在完成计算后会打开一个web浏览器。该工具使用 java.awt.Desktop.getDesktop().browse((new File(...)).toURI()) 而且它没有一个参数来阻止这种行为。编辑:OP指出这个解决方案是错误的,我把它留作参考: -nobrowser不生成浏览器文件。有点让人困惑,但这与完成计算后打开webbrowser无关 有一个-nobrowser选项,如中所述 -nobrowser–如果存在此标志,则不打印浏览器文件。如果请求-n

我想在本地运行这个工具,它在完成计算后会打开一个web浏览器。该工具使用

java.awt.Desktop.getDesktop().browse((new File(...)).toURI())

而且它没有一个参数来阻止这种行为。

编辑:OP指出这个解决方案是错误的,我把它留作参考:


-nobrowser不生成浏览器文件。有点让人困惑,但这与完成计算后打开webbrowser无关


有一个
-nobrowser
选项,如中所述

-nobrowser–如果存在此标志,则不打印浏览器文件。如果请求-nobed,则浏览文件 写作也被抑制

因此,命令是:


java-jar ChromHMM.jar LearnModel-nobrowser

您可以从注册表中删除默认浏览器设置

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\URLAssociations\(http|https)\UserChoice

从2017年开始,ChromeHMM GitHub帐户上列出了几种解决方案:

这:

unset DISPLAY && java -mx1600M -jar $chromhmm LearnModel -s 1 -p $threads -nobrowser $binariesdir $modelsdir $num_states $assembly
或者指定
-Djava.awt.headless=true

java-Djava.awt.headless=true-jar ChromHMM.jar LearnModel-nobrowser

奇怪的是,我还发现了这样的评论:

“-nobrowser”标志跳过web浏览器的启动,但不跳过发射参数图像的生成


这是您在本地运行的供个人使用的jar文件吗?或者这是一种依赖关系,你是用maven/gradle这样的工具来实现的?请在您的问题中包含一些附加信息,例如您正在尝试执行的操作,以及您正在使用的程序。您正运行的是哪个命令?-nobrowser不生成浏览器文件。有点混乱,但这与完成计算后打开网络浏览器无关。太糟糕了!但即使没有浏览器文件,是否仍尝试打开浏览器?是的,浏览器文件是一些内部文件。webbrowser只显示一些分析摘要。“在终止时,网页被创建为webpage_NUMSTATES.html(或webpage_NUMSTATES_outfileID.html,如果指定了outfileID),汇总所有创建的文件和图像,如果可以找到浏览器,则会自动使用此文件打开”因此,取决于操作系统,禁用浏览器打开就足够了。但是必须有一个批处理模式。你使用哪个ChromHMM命令?LearnModel似乎调用了浏览器,但可能有一个类似的命令或组合生成了相同的输出。您假设OP使用Windows。@MicheleDorigatti True。同样的策略可能也适用于其他操作系统。谢谢!也许这也是一个bug,因为即使使用-nobrowser-chromHMM也会打开一个浏览器。我会联系开发者。如果你能用准确的命令编辑你的问题,那就太好了,也许这只是一个选项位置错误的问题。。。而且,这也会影响到后来的人们。另外,哪种解决方案对您最有效?取消设置显示还是java-D选项?