构建了一个新的 Windows Server 2016 作为 jenkins 协调构建的目标。我们不应该再使用oracle java,所以我得到了coretta openJDK。OpenJDK 不再支持 javaws。可执行文件不随其一起提供。我见过一些脚本化的解决方法,但它们不起作用,而且编写起来很糟糕。
我们应该使用什么来在 Windows 机器上启动从属代理?
有没有办法使用jnlp而不必签署涉及的罐子?
(该应用程序正在安全环境中使用,因此从安全角度来看,签名是不必要的)
我正在尝试使用新的Java JNLP规范部署Applet,但我总是收到Java插件控制台的以下错误:
BadFieldException[ Il campo <jnlp><applet-desc>width presenta un valore non valido: 0,0]
Run Code Online (Sandbox Code Playgroud)
这是我的HTML代码:
<script>
var attributes = { id:'signingApplet', code:'it.insielmercato.web.signing.SigningApplet' ,width:0, height:0 } ;
var parameters = {jnlp_href: 'signing-applet.jnlp'} ;
deployJava.runApplet(attributes, parameters, '1.6');
function setClipboardText(text){
signingApplet.setClipboardContent(text);
}
</script>
Run Code Online (Sandbox Code Playgroud)
这是我的JNLP代码:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.5+" codebase="" href="">
<information>
<title>SigningApplet</title>
<vendor>Insielmercato S.P.A.</vendor>
</information>
<resources>
<!-- Application Resources -->
<j2se version="1.6+"
href="http://java.sun.com/products/autodl/j2se"/>
<jar href="signing-1.0.jar" main="true" />
</resources>
<applet-desc name="Signing Applet" main-class="it.insielmercato.web.signing.SigningApplet" width="0" height="0">
</applet-desc>
<update check="background"/>
</jnlp>
Run Code Online (Sandbox Code Playgroud)
和我的小程序代码:
package it.insielmercato.web.signing;
import java.applet.Applet;
import …Run Code Online (Sandbox Code Playgroud) 我试图打开一个JNLP客户端,但每次抛出异常都会失败.
#### Java Web Start Error:
#### Unsigned application requesting unrestricted access to system
Unsigned resource:URL/beans/molecule.jar
Run Code Online (Sandbox Code Playgroud)
昨天它正在运行,但今天早上Java要求更新,我做了.在那之后我面临这个问题.
请建议我能做些什么来处理这件事.
我一直在使用url参数将参数传递给.jar应用程序的main方法.在Windows 7上更新到最新的jre 7u7后,Java-web-start启动程序在启动文件时崩溃.
(JNLP download-servlet和jsp-page解析url-parameters并在参数中进一步向下输入)
jsp的有趣部分
<jnlp spec="6.0+" codebase="http://localhost:8080/" href="myfile.jnlp?username=charles">
...
<application-desc main-class="MyMain">
<argument><%=request.getParameter("username")%></argument>
</application-desc>
</jnlp>
Run Code Online (Sandbox Code Playgroud)
所以这可能是也可能不是bug,
Q1:我一直在以正确的方式使用href属性吗?
Q2:任何聪明的想法如何解决问题?
根据Oracle的在线文档,JnlpDownloadServlet仍然是Java 7的一部分:http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/downloadservletguide.html
但我刚刚安装了JDK 1.7.0,jnlp-servlet.jar和jardiff.jar都没有出现在我家的任何地方,至少在Windows上.我在目录中的每个jar上搜索(使用优秀的ack命令行实用程序),但它们都不包含JnlpDownloadServlet.
如何让JNLP在Ubuntu机器上运行OpenJDK 7?
我正在尝试将源代码链接到http://www.bugaco.com/bioinf/clusterer/,并在我的机器上运行"下载源"文本.
目前,当我尝试跑步时
javac -cp ".:l2fprod-common-all-7.3.jar:jfreechart-1.0.17/lib/jfreechart-1.0.17.jar" com/bugaco/mioritic/impl/module/project/Main.java
Run Code Online (Sandbox Code Playgroud)
它给了我错误
./com/bugaco/ui/LoadBean.java:11: error: package javax.jnlp does not exist
import javax.jnlp.FileOpenService;
^
Run Code Online (Sandbox Code Playgroud)
(和许多其他错误)
我假设我需要安装JNLP,以及我修复JNLP时必须安装的其他软件包.
基于Mike Clark的回答/sf/answers/882619111/ 我假设"演示和示例"是为Open JDK 7安装JNLP的方法.
我在Ubuntu上,所以我正在尝试使用"Ubuntu方式"来安装它.我安装了openjdk-7-demo,它将自己描述为"基于OpenJDK的Java运行时(演示和示例)".
它仍然给出了上述错误.我做错了什么,或者忘了做什么?
我尝试浏览标签wiki for java.在"初学者资源"中看起来与我无关的唯一非视频资源是"The Java Tutorials".与之相关的唯一链接是"学习Java语言".它有一个关于包的部分,但这只是关于如何创建自己的,而不是如何安装其他人的包.
我使用的是Ubuntu 12.04(精确)64位和Java 7
java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1~0.12.04.2)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)
Run Code Online (Sandbox Code Playgroud) 我尝试连接IPMI远程连接(KVM)而不使用webbrowser或IPMIview工具.但到目前为止还没有运气.
我首先想到的是用javaws启动"jviewer.jnlp".如果按"远程连接"按钮,IPMI网站将创建此文件.此解决方案有效,直到Web会话关闭.我尝试用用户名和密码替换加密的参数.但不知何故,嵌入了会话ID.
jviewer.jnpl文件:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="https://192.168.99.201/Java">
<information>
<title>JViewer</title>
<vendor>American Megatrends, Inc.</vendor>
<description kind="one-line">JViewer Console Redirection Application</description>
<description kind="tooltip">JViewer Console Redirection Application</description>
<description kind="short">
JViewer enables a user to view the video display of managed server via KVM.
It also enables the user to redirect his local keyboard, mouse for managing the server remotely.
</description>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.5+"/>
<jar href="release/JViewer.jar"/>
</resources>
<resources os="Windows" arch="x86">
<j2se version="1.5+"/>
<nativelib href="release/Win32.jar"/>
</resources>
<resources os="Windows" arch="amd64">
<j2se version="1.5+"/> …Run Code Online (Sandbox Code Playgroud) 在这里寻求帮助!
我正在运行 Jenkins(v2.134) 作为由 Rancher(v1.6.16) 管理的 docker 容器;我使用 haproxy(HA-Proxy version 1.6.3 2015/12/25)作为我的负载均衡器。Jenkins JNLP 端口配置为 50000。haproxy 得到了 TCP 端口转发的规则(8081 > 50000)
我的奴隶 (macmini) 在不同的网络和防火墙后面(这个网络可以到达我的 Jenkins Infra)。我正在使用“隧道连接通过”属性和指定的端口“:8081”。8081 端口已经在防火墙中打开了。
我的 Jenkins Java 版本是 -
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-1~deb9u1-b12)
Run Code Online (Sandbox Code Playgroud)
我的 Slave Java 版本是 -
Sun JDK "1.8.0_151"
Run Code Online (Sandbox Code Playgroud)
这是代理日志-
*INFO: Setting up agent: my-slave-01*
Sep 26, 2018 2:48:50 PM hudson.remoting.jnlp.Main$CuiListener <init>
INFO: Jenkins agent is running in headless mode.
Sep 26, 2018 2:48:50 PM hudson.remoting.Engine startEngine
INFO: Using Remoting version: 3.23 …Run Code Online (Sandbox Code Playgroud) 我正在 Jenkins 中创建一个 Windows 从站,为此,我需要使用 Java Web Start 作为从站配置中的启动方法。我知道要在从属配置中查看此选项,我们需要将 Manage Jenkins>Configure global security>Agents>TCP JNLP AGents 中的设置从禁用更改为随机。
但就我而言,我看不到 JNLP 端口代理,可见选项是“入站代理的 TCP 端口”而不是“JNLP 代理的 TCP 端口”。
我已经在 Manage Jenkins>Global tool Configuration 中安装了 JDK,但在此之后它也没有为 JNLP 代理提供选项。
有人可以帮忙吗,我可以在 Jenkins>Configure global security>Agents 下查看“JNLP 代理的 TCP 端口”选项