Hi, I have a java swing application, I want to start it via jnlp, I configured my project web start configuration but when I push the launch button doesn't work. Do you know why?
Here is the error
Java.lang.NumberFormatException: For input string: "\Users\Administrator\Documents\NetBeansProjects\LoginPage\dist"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at com.sun.deploy.security.DeployManifestChecker.verifyCodebase(Unknown Source)
at com.sun.deploy.security.DeployManifestChecker.verify(Unknown Source)
at com.sun.deploy.security.DeployManifestChecker.verify(Unknown Source)
at com.sun.javaws.security.AppPolicy.grantUnrestrictedAccess(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResources(Unknown Source)
at com.sun.javaws.Launcher.prepareResources(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main.access$000(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
With just this error we can only tell you that your problem is happening because of a parseInt on a String that is not an int.
To correct this you have two possibilities :
add try{}catch(NumberFormatException e){//show error}
Assert that you have the proper things into parseInt ;)
I have the same issue.
Netbeans 8.01, JDK 1.8u20, JRE project,
Run option:
'run as webstart' enabled.
Application/Webstart options:
Created Certificates Keystore (Tip: i used 'portecle' )
Codebase: Local execution (by which the preview shows: 'file:/C:/..../')
The JNLP which is created by the project says;
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp codebase="file:/C:/<snip>/dist/" href="launch.jnlp" spec="1.0+">
<information>
<title>netbeans_prj</title>
<vendor>bla</vendor>
<homepage href=""/>
<description>netbeans_prj</description>
<description kind="short">netbeans_prj</description>
<offline-allowed/>
</information>
<update check="background"/>
<security>
<all-permissions/>
</security>
<resources>
<j2se java-vm-args="-Xmx512m -Xverify:none" version="1.7+"/>
<jar href="netbeans_prj.jar" main="true"/>
<jar href="lib/all_ext.jar"/>
</resources>
<application-desc main-class="<snip>">
<argument>-h</argument>
<argument>127.0.0.1</argument>
</application-desc>
</jnlp>
Related
I Have an Applet application and I am migrating this to JWS. When I Run it in a browser (Applet), it's fine and I made the JNLP file to download the application to the local machine. When I put the jnlp file in some folder that doesn't contain the 'international.properties' files it doens't work, but if I put this in the same folder it works, we have other application that does the same thing and it works. I can't really find the error. Is there anything related to cache? Is there a way to put international.properties in cache?
The error is:
java.util.MissingResourceException: Can't find bundle for base name international, locale pt_BR
at java.util.ResourceBundle.throwMissingResourceException(Unknown Source)
at java.util.ResourceBundle.getBundleImpl(Unknown Source)
at java.util.ResourceBundle.getBundle(Unknown Source)
at teste.applet.testeMainPanel.initComponents(testeMainPanel.java:687)
at teste.applet.testeMainPanel.<init>(testeMainPanel.java:62)
at teste.applet.testeApplication.initMainPanel(testeApplication.java:183)
at teste.applet.testeLoginPanel.jButton1ActionPerformed(testeLoginPanel.java:104)
at teste.applet.testeLoginPanel.access$000(testeLoginPanel.java:12)
at teste.applet.testeLoginPanel$1.actionPerformed(testeLoginPanel.java:81)
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.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
java.lang.NullPointerException
at java.awt.Container.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at teste.applet.testeMainFrame.<init>(testeMainFrame.java:21)
at teste.applet.testeApplication.initMainFrame(testeApplication.java:167)
at teste.applet.testeLoginPanel.jButton1ActionPerformed(testeLoginPanel.java:105)
at teste.applet.testeLoginPanel.access$000(testeLoginPanel.java:12)
Exception in thread "AWT-EventQueue-2" java.lang.NullPointerException
at teste.applet.testeApplication.initMainFrame(testeApplication.java:177)
at teste.applet.testeLoginPanel.jButton1ActionPerformed(testeLoginPanel.java:105)
at teste.applet.testeLoginPanel.access$000(testeLoginPanel.java:12)
at teste.applet.testeLoginPanel$1.actionPerformed(testeLoginPanel.java:81)
The JNLP file is:
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://path/teste/" href="teste.jnlp">
<information>
<title>TesteDesktop</title>
<vendor>FACTORY</vendor>
<homepage href="www.factory.com.br"/>
<description>TESTE WebStart</description>
<icon kind="shortcut" href="imagens/teste.ico"/>
<icon href="imagens/splash_screen_teste.png" kind="splash"/>
<shortcut online="true">
<desktop/>
<menu submenu="TESTE"/>
</shortcut>
</information>
<security>
<all-permissions />
</security>
<application-desc main-class="teste.applet.testeApplication">
<argument>http://path/teste/</argument>
<argument>PORTUGUESE</argument>
<argument>F</argument>
</application-desc>
<resources>
<j2se version="1.6+"/>
<jar eager="true" href="teste.jar" main="true"/>
</resources>
</jnlp>
When I try to start my java web start app i got this error:
com.sun.deploy.net.FailedDownloadException: Unable to load resource: http://localhost:8080/blog/WebStartApp.jar
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.downloadResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
sample.jnlp
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+"
codebase="http://localhost:8080/blog/"
href="sample.jnlp">
<information>
<title>Sample JWS application</title>
<vendor>JBoss tutorials</vendor>
<description>JWS on JBoss Demo</description>
</information>
<secruity>
<all-permissions/>
</secruity>
<resources>
<jar href="WebStartApp.jar"/>
<j2se version="1.6.10+"
href="http://java.sun.com/products/autodl/j2se" java-vm-args="-Djava.net.preferIPv4Stack=true"/>
</resources>
<application-desc main-class="webStartClasses.App"/>
</jnlp>
Jnlp and jar files are placed in .war file which is deployed on JBoss server
How fix this ?
You spelled security wrong, you said secruity.
I put together an app using java, selenium and JFrame. When I try to launch it in a JNLP page it gives me this error:
java.security.AccessControlException: access denied ("java.util.PropertyPermission" "com.google.appengine.runtime.environment" "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.checkPropertyAccess(Unknown Source)
at java.lang.System.getProperty(Unknown Source)
at com.gargoylesoftware.htmlunit.gae.GAEUtils.isGaeMode(GAEUtils.java:35)
at com.gargoylesoftware.htmlunit.util.URLCreator.getCreator(URLCreator.java:48)
at com.gargoylesoftware.htmlunit.util.UrlUtils.<clinit>(UrlUtils.java:44)
at com.gargoylesoftware.htmlunit.WebClient.<clinit>(WebClient.java:160)
at org.openqa.selenium.htmlunit.HtmlUnitDriver.newWebClient(HtmlUnitDriver.java:296)
at org.openqa.selenium.htmlunit.HtmlUnitDriver.createWebClient(HtmlUnitDriver.java:270)
at org.openqa.selenium.htmlunit.HtmlUnitDriver.<init>(HtmlUnitDriver.java:136)
at org.openqa.selenium.htmlunit.HtmlUnitDriver.<init>(HtmlUnitDriver.java:179)
at org.openqa.selenium.htmlunit.HtmlUnitDriver.<init>(HtmlUnitDriver.java:175)
at googlePackage.GoogleClass.<init>(GoogleClass.java:21)
at googlePackage.GoogleClass.main(GoogleClass.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
My JNLP file
<?xml version="1.0" encoding="utf-8"?>
<jnlp
spec="1.0+"
codebase="http://localhost/Java/SignSelenium/GoogleScan"
href="TwitterScan.jnlp">
<information>
<title>FrameDemo2</title>
<vendor>The Java(tm) Tutorial</vendor>
<homepage href="http://localhost/Java/index.html"/>
<description>Frame2</description>
<description kind="short">buttons within containers</description>
<offline-allowed/>
</information>
<resources>
<j2se version="1.6+"/>
<jar href="GoogleScan.jar"/>
</resources>
<application-desc main-class="googlePackage.GoogleClass"/>
</jnlp>
My Class
http://pastebin.com/sY9PHhvF
I have signed all selenium jar files contained in this jar.
To do that action, the JNLP file needs to declare:
<security>
<all-permissions />
</security>
Put is just after the information section.
I have searched the web and have found no definitive solution, so here goes:
I made a JNLP file to launch a JAR in the same folder, however it fails to launch and gives the error "Could not parse launch file. Error at line 0."
Here's DevChat.jnlp:
<?xml version="1.0" encoding="utf-8"?>
<!-- JNLP to Launch DevChat -->
<jnlp
spec="1.0+"
href="DevChat.jnlp">
<information>
<title>DevChat</title>
<vendor>Dev Team</vendor>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.4.2"/>
<jar href="DevSuite.jar" main="true" />
<jar href="commons-net-3.0.1.jar" />
</resources>
<application-desc
main-class="DevChat"
name="DevChat"
</application-desc>
</jnlp>
And the exception:
JNLParseException[ Could not parse launch file. Error at line 0.]
at com.sun.javaws.jnl.XMLFormat.parse(Unknown Source)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
And the wrapped exception:
java.lang.NullPointerException
at com.sun.deploy.xml.XMLParser.parseXMLAttribute(Unknown Source)
at com.sun.deploy.xml.XMLParser.parseXMLElement(Unknown Source)
at com.sun.deploy.xml.XMLParser.parseXMLElement(Unknown Source)
at com.sun.deploy.xml.XMLParser.parseXMLElement(Unknown Source)
at com.sun.deploy.xml.XMLParser.parseXMLElement(Unknown Source)
at com.sun.deploy.xml.XMLParser.parseXMLElement(Unknown Source)
at com.sun.deploy.xml.XMLParser.parse(Unknown Source)
at com.sun.javaws.jnl.XMLFormat.parse(Unknown Source)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Running from console shows nothing at all. Any help would be appreciated!
I guess that this XML is malformed:
<application-desc
main-class="DevChat"
name="DevChat"
</application-desc>
you need to close the open tag like this:
<application-desc
main-class="DevChat"
name="DevChat">
</application-desc>
After finally solving the jar signing problem (thank you everyone for your help!), a new one has now come up.
When trying to launch the web start app from the launch.jnlp file I get the following error :
java.lang.NullPointerException
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
If I use the jnlp file that points to the jar file on my computer, the app runs fine, but if I try to use the jar file in the website - I get the above error.
What exactly is the problem?
The jnlp file has the right format, otherwise why would it work on my local jar file?
Here is the jnlp:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp spec="1.0+">
<information>
<title>ExcelReader</title>
<vendor>Adam</vendor>
<homepage href="http://www.appquad.com"/>
<description>ExcelReader</description>
<description kind="short">ExcelReader</description>
<offline-allowed/>
</information>
<update check="background"/>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.7+"/>
<jar href="http://www.appquad.com/ExcelCopyApp/sExcelReader.jar" main="true"/>
<jar href="http://www.appquad.com/ExcelCopyApp/lib/jxl.jar"/>
</resources>
<application-desc main-class="excelreader.ExcelCopyApp">
</application-desc>
</jnlp>
Be sure that your JNLP file has the right format: http://download.oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/syntax.html
I had faced similar issue. I was getting below exception while trying to launch
app through jnlp:
java.lang.NullPointerException
at com.sun.javaws.JnlpxArgs.execProgram(Unknown Source)
at com.sun.javaws.Launcher.relaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareResources(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main.access$000(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source).
I have jdk 1.7 on my machine and any how some jar in JRE lib was missing or corrupted. I have resinstalled the JRE and it worked for me. I would suggest to figure out jar that is not getting picked up from jnlp file and relplace them and see if it works.