标签: java-web-start

通过Java Web Start(JNLP)启动的Applet启动两次

我正在通过JNLP和Java Web Start启动applet.我的问题是,当页面加载时,两个JVM将启动两个Java控制台弹出窗口和两个"你想运行这个应用程序吗?" 弹出窗口.除此之外,applet最终加载,甚至我的本机库都正确加载.我不确定导致双重发射的原因.

编辑:此外,第一个加载的JVM在大约30-45秒后自动关闭.

HTML

<script>
var attributes = { code:"com.osgi.swpc.applet.TrackerApplet.class", width:770, height:825};
var parameters = {jnlp_href: "tracker-applet.jnlp"};
deployJava.runApplet(attributes, parameters, "1.6");
</script>
Run Code Online (Sandbox Code Playgroud)

JNLP

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" href="">
    <information>
        <title>Tracker</title>
        <vendor>My Vendor</vendor>
    </information>
    <resources os="Windows">
        <!-- Application Resources -->
        <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se" />
        <jar href="tracker_applet.jar" main="true" />
        <nativelib href="applets/jacob.jar"/>
        <nativelib href="applets/com4j.jar"/>
    </resources>
    <applet-desc 
         name="Tracker Applet"
         main-class="com.osgi.swpc.applet.TrackerApplet"
         width="770"
         height="825">
     </applet-desc>
     <update check="background"/>
</jnlp>
Run Code Online (Sandbox Code Playgroud)

java jnlp applet java-web-start

6
推荐指数
1
解决办法
1576
查看次数

创建JAXB Context的JAXBException

当我将应用程序作为独立的Java程序运行时,它运行良好.当我将它作为applet运行时,它会抛出带有以下stacktrace的JAXBException.

javax.xml.bind.JAXBException: jaxb.properties in package com/test/package does not contain the javax.xml.bind.context.factory property.
    at javax.xml.bind.ContextFinder.find(Unknown Source)
    at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
    at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

当我添加一个jaxb.properties时,我收到以下错误 -

javax.xml.bind.JAXBException
 - with linked exception:
[java.lang.NoSuchMethodException: com.sun.xml.internal.ws.developer.JAXBContextFactory.createContext([Ljava.lang.Class;, java.util.Map)]
    at javax.xml.bind.ContextFinder.newInstance(Unknown Source)
    at javax.xml.bind.ContextFinder.newInstance(Unknown Source)
    at javax.xml.bind.ContextFinder.find(Unknown Source)
    at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
    at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

我将以下jar添加到classpath中 -

  • JAXWS-RT-2.2.1
  • JSR311的API-1.1.1
  • 球衣核-1.2
  • 新泽西州的客户 - 1.2

导致此错误的原因.我错过了任何依赖项.

编辑:我在浏览器和开发环境中使用Java 7 u 59.

java applet jaxb java-web-start

6
推荐指数
1
解决办法
2652
查看次数

Web Start 安全级别 j2ee-application-client-permissions 仍然可能吗?

根据JNLP 文件语法,存在三个安全级别:

  • sandbox (如果没有明确指定级别,则为默认值)
  • j2ee-application-client-permissions
  • all-permissions

在最近的 Java 版本中,要求 JAR 文件包含一个清单条目,其 Permissions 属性与相应 JNLP 文件的安全级别相匹配。根据官方文档可能的值是

  • sandbox
  • all-permissions

我很困惑,因为这是否意味着实际上不再可能使用级别部署 web start 应用程序j2ee-application-client-permissions

我无法j2ee-application-client-permissions使用清单文件中的每个可能的属性值部署具有级别的(已签名)Web 启动应用程序。

java security jnlp sandbox java-web-start

6
推荐指数
0
解决办法
454
查看次数

Java 可信 SSL 证书管理

我是 Java Web Start 的新手,目前我正在为专用服务器开发的小程序上遇到一些奇怪的行为。

我正在尝试在下载之前动态检查是否忽略服务器的 SSL 证书。为此,我正在使用

public class TrustModifier {
    private static SSLSocketFactory factory;
    private static final HostnameVerifier TRUSTING_HOSTNAME_VERIFIER = new HostnameVerifier() {
        public boolean verify(String hostname, SSLSession session) {
            return true;
        }
    };

    public TrustModifier() {
    }

    public static void relaxHostChecking(URLConnection conn) {
        if (conn instanceof HttpsURLConnection) {
            try {
                HttpsURLConnection httpsConnection = (HttpsURLConnection)conn;
                httpsConnection.setSSLSocketFactory(getFactory());
                httpsConnection.setHostnameVerifier(TRUSTING_HOSTNAME_VERIFIER);
            } catch (Exception var2) {
            }
        }

    }

    private static synchronized SSLSocketFactory getFactory() throws Exception {
        if (factory == null) { …
Run Code Online (Sandbox Code Playgroud)

java macos ssl ssl-certificate java-web-start

6
推荐指数
0
解决办法
148
查看次数

尽管安装了 Java 8,但无法找到支持 javaws 的 Java 运行时

在我的 Mac 上,我无法打开 JNLP 文件。双击它们会打开一个弹出窗口,其中包含以下消息:

\n
\n

无法完成操作\xe2\x80\x99。无法找到支持 javaws 的 Java 运行时。\n请访问http://www.java.com以获取有关安装 Java 的信息。

\n
\n

从终端:

\n
$ export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_333.jdk/Contents/Home/\n$ /usr/bin/java -version\njava version "1.8.0_333"\nJava(TM) SE Runtime Environment (build 1.8.0_333-b02)\nJava HotSpot(TM) 64-Bit Server VM (build 25.333-b02, mixed mode)\n$ /usr/bin/javaws \nThe operation couldn\xe2\x80\x99t be completed. Unable to locate a Java Runtime that supports javaws.\nPlease visit http://www.java.com for information on installing Java.\n
Run Code Online (Sandbox Code Playgroud)\n

我知道 Java Web Start 在 Java 9 中已被弃用,并在 Java 11 中被删除。但这是一个 Oracle JDK 8。我相信它应该提供 Java Web Start。那么发生了什么? …

java macos java-web-start

6
推荐指数
1
解决办法
2万
查看次数

Java Web Start身份验证选项

好的,在您认为这是一个简单的请求之前,它必须在那里; 我做了大约2-3个小时的搜索没有结果.有没有办法通过Java Web Start(javaws)传递身份验证信息来访问受密码保护的网站?

基本上我正在努力的是一个javaws应用程序的自动重启,而不必重新实现javaws做什么来拉下jar,然后必须在下载的应用程序上运行Java.我一直在努力寻找有关这方面的信息,但没有人愿意做我正在做的事情(主要是因为如果你有身份验证,那么你会希望有人进行身份验证).

身份验证方法是基本的,我已经尝试将用户名/密码嵌入到URL中无济于事.有任何想法吗?

authentication java-web-start

5
推荐指数
1
解决办法
2986
查看次数

JTable调用自定义单元格渲染器方法......连续

可编辑的源代码可在以下网址找到:http://www.splashcd.com/jtable.tar

我是这门语言的新手,所以我不确定这是否是可接受的行为.

我创建了一个JTable来为每个收到的消息显示一行(它每20秒接收一次).其中一个表列可以包含大量文本,因此我创建了一个自定义单元格渲染器,该单词渲染器相应地包装并设置行高.

所有这一切都按预期工作,除了表格显示第一行后,它每秒调用单元格渲染器大约十次......直到用户关闭表格.

一旦我在那里得到大约20行,表格变得相当迟缓,需要2-8秒来调整列的大小,向上或向下scoll,或者使用所选的背景颜色渲染选定的行.

我在渲染器中插入了一个print语句,因此我可以看到调用getTableCellRendererComponent方法的次数.

我禁用了工具提示,并禁用了所有单元格编辑.我有一个监听器,当添加新行或调整表格大小时,它会将视图滚动到最后一行.

当我刚刚查看屏幕(不接触鼠标或键盘)时,是否应该每秒调用几次getTableCellRendererComponent方法?

TIA

java performance swing jtable java-web-start

5
推荐指数
2
解决办法
4311
查看次数

Java 7中新的JNLP Missing项目警告有什么用?

我们的JNLP在从Java 6切换到Java 7后仍然可以正常工作,但它现在抛出了一系列错误,如下所示:

Missing Application-Name: manifest attribute for: http://blah.com/app.jar
Missing Permissions manifest attribute for: http://blah.com/app.jar
Missing Codebase manifest attribute for: http://blah.com/app.jar
Run Code Online (Sandbox Code Playgroud)

它对我们的主罐重复几次,对我们的一个库罐重复几次.但是,对于我们的大部分库罐,它根本不会发生.JaNeLa列出了一些优化机会(通过更改一些默认值),但没有一个看起来是相关的,并且没有找到实际的错误.

到目前为止,搜索网络让我空洞如何将JNLP文件格式变成Java 7发现的值得的东西.:-)

java security jnlp java-web-start

5
推荐指数
2
解决办法
1万
查看次数

通过WebStart运行时,Java 7更新55 JacORB错误

自从更新到Java 7更新55以来,我无法运行我的WebStart java应用程序.

通过WebStart启动时,此应用程序在Java 7更新51下运行良好.

在WebStart外部启动时,它也适用于更新55.

有进一步调查的建议吗?

org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation org.jacorb.orb.ORBSingleton  vmcid: 0x0  minor code: 0  completed: No
    at org.omg.CORBA.ORB.create_impl_with_systemclassloader(Unknown Source)
    at org.omg.CORBA.ORB.init(Unknown Source)
    at org.jacorb.orb.CDRInputStream.<init>(CDRInputStream.java:186)
    at org.jacorb.orb.etf.ProfileBase.initFromProfileData(ProfileBase.java:252)
    at org.jacorb.orb.etf.ProfileBase.demarshal(ProfileBase.java:172)
    at org.jacorb.orb.etf.FactoriesBase.demarshal_profile(FactoriesBase.java:124)
    at org.jacorb.orb.ParsedIOR.decode(ParsedIOR.java:235)
    at org.jacorb.orb.ParsedIOR.parse_stringified_ior(ParsedIOR.java:460)
    at org.jacorb.orb.ParsedIOR.parse(ParsedIOR.java:375)
    at org.jacorb.orb.ParsedIOR.<init>(ParsedIOR.java:192)
    at org.jacorb.orb.ORB.string_to_object(ORB.java:1824)

Caused by: java.lang.ClassNotFoundException: org.jacorb.orb.ORBSingleton
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    ... 56 more
Run Code Online (Sandbox Code Playgroud)

编辑2014年6月12日 …

java java-web-start classnotfoundexception jacorb

5
推荐指数
1
解决办法
3890
查看次数

如何在Java 10或更高版本的Java 11中运行现有的JAVA Web Start应用程序

我的应用程序使用20年的Java Swings开发。对于这个庞大的应用程序,我们现在在JAVA 10上进行迁移,并将在Java 11或后续版本上进行迁移。此应用程序可与Java Webstart正常运行,并且根据Java 11功能,Java 11和其他后续版本将不支持Java Web Start应用程序。

请让我知道在不使用webstart的情况下在Java 10上运行我的应用程序的最佳方法。

java java-web-start

5
推荐指数
1
解决办法
3680
查看次数