Hi chriis,
After following the netbeans.txt, i was able to integrate the JWebBrowser in
my netbeans platfrom application on a 32-bit JVM. But when i try to run it on
64-bit JVM (atfer changing the swt lib to 64 bit JVM),i get the following
exception
java.lang.ClassNotFoundException: chrriis.dj.nativeswing.swtimpl.NativeInterface
NativeSwing[1]: at chrriis.common.NetworkURLClassLoader.findClass(NetworkURLClassLoader.java:77)
NativeSwing[1]: at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
NativeSwing[1]: at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
NativeSwing[1]: at chrriis.common.NetworkURLClassLoader.main(NetworkURLClassLoader.java:88)
NativeSwing[1]: Caused by: java.net.ConnectException: Connection refused: connect
NativeSwing[1]: at java.net.DualStackPlainSocketImpl.connect0(Native Method)
NativeSwing[1]: at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69)
NativeSwing[1]: at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
NativeSwing[1]: at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
NativeSwing[1]: at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
NativeSwing[1]: at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
NativeSwing[1]: at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
NativeSwing[1]: at java.net.Socket.connect(Socket.java:579)
NativeSwing[1]: at java.net.Socket.connect(Socket.java:528)
NativeSwing[1]: at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
NativeSwing[1]: at sun.net.www.http.HttpClient.openServer(HttpClient.java:388)
NativeSwing[1]: at sun.net.www.http.HttpClient.openServer(HttpClient.java:483)
NativeSwing[1]: at sun.net.www.http.HttpClient.<init>(HttpClient.java:213)
NativeSwing[1]: at sun.net.www.http.HttpClient.New(HttpClient.java:300)
NativeSwing[1]: at sun.net.www.http.HttpClient.New(HttpClient.java:316)
NativeSwing[1]: at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:992)
NativeSwing[1]: at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:928)
NativeSwing[1]: at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:846)
NativeSwing[1]: at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1296)
NativeSwing[1]: at chrriis.common.NetworkURLClassLoader.findClass(NetworkURLClassLoader.java:56)
Environment:
Windows 7 64 bit
JDK 1.7 (32 & 64 bit)
Netbeans 7.1
DJ NativeSwing Version 1.0.2 (also tried with 1.0.1)
swt-3.7.2-win32-win32-x86.zip Works fine
swt-3.7.2-win32-win32-x86_64 Does'nt work
swt-3.8M5-win32-win32-x86_64 Does'nt work
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It may be to some issue with the Java version that is used. I remember a user
saying that for some reasons, the version of Java that the native process was
using was the wrong one (the one from the Windows system folder) which may be
of different architecture.
Could you run your application with the following property:
-Dnativeswing.peervm.debug.printCommandLine=true
it should show the arguments that I use to spawn that separate process. Also,
check your PATH in case there are any anomalies.
Hope this helps,
-Christopher
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2012-04-28
Hi chris. the jvm being used is 64 bit i can confirm that by looking at the
nbp app logs. here is the snippet
>Log Session: Saturday, April 28, 2012 11:58:13 PM AST
>System Info:
Product Version = PlatformPlayground 201112071828
Operating System = Windows 7 version 6.1 running on amd64
Java; VM; Vendor = 1.7.0_03; Java HotSpot(TM) 64-Bit Server VM 22.1-b02; Oracle Corporation
Runtime = Java(TM) SE Runtime Environment 1.7.0_03-b05
Java Home = C:\Program Files\Java\jdk1.7.0_03\jre
System Locale; Encoding = en_US (platformplayground); Cp1252
Home Directory = C:\Users\Naveed
Current Directory = D:\Projects\NetBeansProjects\PlatformPlayground
User Directory = D:\Projects\NetBeansProjects\PlatformPlayground\build\testuserdir
Cache Directory = D:\Projects\NetBeansProjects\PlatformPlayground\build\testuserdir\var\cache
Installation = D:\Projects\NetBeansProjects\PlatformPlayground\build\cluster
C:\Program Files\NetBeans 7.1\platform
C:\Program Files\NetBeans 7.1\platform
.....
also here is the native command from the logs after running it with said
property. again everything looks ok..64 bit jvm in use
If this is the case, I don't know what is so special with your computer,
because before opening the server I try to connect to it locally.
To locally fix it, you could try altering the IP detection algorithm through
the use of sepecial NativeSwing properties.
Either set it so that "localhost is used":
-Dnativeswing.localhostAddress=localhost
or hardcode the local IP of your computer:
-Dnativeswing.localhostAddress=192.168.111.222
The default algorithm in your case determined that it could use 127.0.0.1, but
failed to use it... I wonder how this is possible.
Please let me know if you get more information on this issue.
-Christopher
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi chriis,
After following the netbeans.txt, i was able to integrate the JWebBrowser in
my netbeans platfrom application on a 32-bit JVM. But when i try to run it on
64-bit JVM (atfer changing the swt lib to 64 bit JVM),i get the following
exception
Environment:
Windows 7 64 bit
JDK 1.7 (32 & 64 bit)
Netbeans 7.1
DJ NativeSwing Version 1.0.2 (also tried with 1.0.1)
swt-3.7.2-win32-win32-x86.zip Works fine
swt-3.7.2-win32-win32-x86_64 Does'nt work
swt-3.8M5-win32-win32-x86_64 Does'nt work
Well, 64 bit JVM with 64 bit SWT should work.
It may be to some issue with the Java version that is used. I remember a user
saying that for some reasons, the version of Java that the native process was
using was the wrong one (the one from the Windows system folder) which may be
of different architecture.
Could you run your application with the following property:
-Dnativeswing.peervm.debug.printCommandLine=true
it should show the arguments that I use to spawn that separate process. Also,
check your PATH in case there are any anomalies.
Hope this helps,
-Christopher
Hi chris. the jvm being used is 64 bit i can confirm that by looking at the
nbp app logs. here is the snippet
also here is the native command from the logs after running it with said
property. again everything looks ok..64 bit jvm in use
and here is the complete stacktrace if u need..
thanks for your help and time ..
Hi,
I think the issue is that the server I create listens on the wrong network
interface or something. This SO post (and the self response by the original
poster) makes me think this is the same issue:
http://stackoverflow.com/questions/7650006/error-establishing-
connection
If this is the case, I don't know what is so special with your computer,
because before opening the server I try to connect to it locally.
To locally fix it, you could try altering the IP detection algorithm through
the use of sepecial NativeSwing properties.
Either set it so that "localhost is used":
-Dnativeswing.localhostAddress=localhost
or hardcode the local IP of your computer:
-Dnativeswing.localhostAddress=192.168.111.222
The default algorithm in your case determined that it could use 127.0.0.1, but
failed to use it... I wonder how this is possible.
Please let me know if you get more information on this issue.
-Christopher