对于使用webstart启动的应用程序,我在Java控制台上显示输出消息.而不是用户手动清除消息,有没有办法清除代码中的控制台消息?
这些消息以大约每秒1000的速度打印,并且似乎最终使用了太多的内存,我本可以停止打印到控制台,但要求是始终拥有它.
在Windows上的Java控制面板中,有"临时Internet文件"的设置,其中缓存了所有applet和webstart内容.对于我们应用程序的某些用户,此缓存无法正常运行,他们需要在我们的webstart应用程序正确更新之前通过控制面板删除所有文件.
忽略这样做的其他含义,无论如何我们可以在我们进行更新时以编程方式删除临时文件缓存,最好是通过Java而不依赖于任何批处理文件或Windows hackery quackery?
嗨设法为我的Java应用程序创建jar和.jnlp文件,但在运行时遇到麻烦.使用Java Web Start启动好但我认为我需要做一些额外的操作,因为当我运行它时它不会要求获得访问文件I/O的HD的权限.
希望得到一些帮助,并建议知道如何获得许可权利,即我必须做的是我必须做的事情,我的所有课程都不确定.我在Java Web Start中收到的错误消息如下所示.
Exception in thread "AWT-EventQueue-0" java.security.AccessControlException:
access denied (java.io.FilePermission StockDatabase;Stocks.dat read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at java.io.File.exists(Unknown Source)
at StockCodeDatabase.<init>(OptraderSA.java:782)
at OptraderSA.actionPerformed(OptraderSA.java:136)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unkno
Run Code Online (Sandbox Code Playgroud) 我有一个桌面应用程序,我想使用JAVA Web start启动该应用程序.当我第一次使用浏览器启动它时它工作正常,它将下载资源中定义的所有jar .下次我使用JNLP或浏览器运行它时,它不会下载任何jar.使用的罐子来自缓存或其他地方,我不知道......
我希望每次启动我的应用程序时都会下载资源中定义的所有jar
我的jnlp文件包含:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="" href="">
<information>
<title>example</title>
<vendor>example</vendor>
</information>
<resources>
<!-- Application Resources -->
<j2se version="1.5+"
href="http://java.sun.com/products/autodl/j2se"/>
<jar href="application.jar" main="true" />
<jar href="lib/app.jar" />
</resources>
<application-desc main-class="com.application.entry">
</application-desc>
<update check="background"/>
<security>
<all-permissions/>
</security>
</jnlp>
Run Code Online (Sandbox Code Playgroud) 可能重复:
我可以从Java应用程序中删除下载的JNLP文件(Java Web start/JWS)吗?
启动webstart而不下载......?
我创建了一个JWS程序,它通过单击将您带到JNLP文件的HTML链接开始.但是,Chrome浏览器的功能是,它会显示一个文件下载对话框,询问您是否要"保留"或"丢弃"该文件.许多用户监督该对话框,从不点击"保持".
但在某些网站中,我看到该对话框不存在,JWS会自动启动.我怎么能这样做呢?
直接发布示例:
http://docs.oracle.com/javase/tutorial/uiswing/layout/box.html
我正在尝试在最新的os-x上运行一些.jnlp应用程序(游戏).这样做时,Java Web Start.app建议我安装Java Runtime Environment(jre_7u9).不应该已经包含在os-x,java 1.6中吗?作为一个例子,我使用基于java的Eclipse,运行它没有问题.我只是担心新版本会弄乱到目前为止工作得很好的东西(看到几个线程,人们在安装java 7之后遇到问题,即使使用Mail应用程序!).
我对Java几乎一无所知,所以如果有人能指出我不需要安装jre_7u9的解决方案,那就太好了.
提前谢谢,问候,丹尼斯.
EDIT1:
似乎user/bin/javaws指向了错误的方向:
javaws
No Java runtime present, requesting install.
Unable to locate a Java Runtime to invoke.
Run Code Online (Sandbox Code Playgroud)
那是:
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javaws
Run Code Online (Sandbox Code Playgroud)
如果我将其更改为(如http://support.apple.com/kb/HT5559所示)
/System/Library/Frameworks/JavaVM.framework/Commands/javaws
Run Code Online (Sandbox Code Playgroud)
它确实工作正常,但它无法帮助Java Web Start.app正常运行,它仍然需要JRE安装,这是一个废话.
在我使用旧 javaws 的 Linux 机器上,我可以通过 javaws 将系统属性传递给 Java,例如
javaws -J-Dsome.key=some.value http://some.jnlp
Run Code Online (Sandbox Code Playgroud)
但是,在我的 Mac 上使用较新版本的 javaws 似乎不起作用。“-Dsome.key=some.value”没有传递给java进程(看看javaws启动的java进程,-D选项根本就不存在)。但是,其他 Java 选项可以毫无问题地传递,例如。
javaws -J-verbose:gc http://some.jnlp
Run Code Online (Sandbox Code Playgroud)
在 Linux 和 Mac 上都可以正常工作(我可以在 javaws 启动的 java 进程中看到 -verbose:gc 选项很好)。
有没有人有任何想法?是安全设置吗?这是Mac上javaws中的错误吗?
我有一个使用Java web start部署的java swing应用程序.在高dpi显示器上,一切看起来都很小.我已经确定这是因为虽然java报告它是dpi意识到windows其实java swing应用程序不是dpi意识到的.我已经尝试在java.exe,javaws.exe和javaw.exe文件中设置dpi aware false但没有成功.
任何建议,将不胜感激.
我的 Java Webstart 应用程序在受控的可信环境中运行。这是一个封闭的内部网络,我可以在其中控制应用程序的启动方式。
我如何将 JVM 参数传递给应用程序,即使它们被 JVM 视为“不安全”以供 webstart 使用?
我无法在任何给定时间运行多个java webstart实例.
例如,我无法同时运行应用程序的生产和QA实例,这两个实例都是通过java webstart启动的.此外,我无法与我的应用程序的生产或QA实例同时运行java webstart缓存查看器.
我很但是能够运行,当他们在彼此隔离运行任何上述三个Webstart的启动的.当我尝试提出第二个选项时,我看到"Java Loading ..."屏幕然后消失,没有任何反应.
另外,我试图删除webstart缓存(通过java webstart缓存查看器),无论我指向哪个JRE,我都会收到以下错误:
"安装错误.调用Java VM(execv)时出错"javaw.exe的路径'"
我希望上面提到的两个问题都是相互关联的.我不相信我最近改变了任何配置,我很高兴运行java webstart多年.
有没有人见过这样的问题?
谢谢,杰克
编辑:当第二个webstart实例尝试运行时,在显示"Java Loading ..."屏幕期间,我可以在任务管理器中看到生成了一个新的javaw.exe进程.这个过程几乎立刻就死了.我不确定如何检查该过程中的失败,但我希望它类似于尝试通过webstart缓存查看器清除缓存时的失败.
java ×10
java-web-start ×10
jnlp ×5
caching ×1
console ×1
hdpi ×1
macos ×1
swing ×1
windows-10 ×1