My favorites | Sign in
Project Home Wiki Issues Source
Search
for
WebStart05  
Updated Mar 10, 2010 by jonathan...@gmail.com

This material is distributed under the GNU General Public License Version 2. To obtain a copy of the original source code, make a request on the Wonderland Forum.

Open Wonderland v0.5: Launching Clients using Java Web Start

by Jordan Slott (jslott@dev.java.net) and Jonathan Kaplan (jonathankap@gmail.com)

Introduction

Support for Java Web Start is built into Open Wonderland v0.5. The Wonderland server automatically supports launching clients from Java Web Start when you compile Open Wonderland from the source code (or from binary releases in the future). With Java Web Start, clients only need to open a URL in a web browser, and as long as Java SE 6 is installed on their system, the Open Wonderland client will be automatically downloaded and launched.

The Open Wonderland Server URL

When you start the Open Wonderland server, a web server is started which enables users to launch the client. This web page defaults to port 8080. For example, if the host name of your server is www.company.com, then the URL of the Open Wonderland client page will be http://www.company.com:8080. If you are unsure what the host name of your machine is, you can use the IP address of your server instead.

When you start the server, it displays a message with the URL of the web server. For example:

     [java] -----------------------------------------------------------
     [java] Wonderland web server started successfully.
     [java] Log files are in /Users/me/.wonderland-server/0.5-dev/log
     [java] Web server running on http://129.148.173.164:8080/
     [java] -----------------------------------------------------------

Launching a Client

If you open the URL in a web browser, you should see the page below. Click the "Launch Wonderland 0.5" button to launch the client. It only needs to download the client software once; future attempts will use a cached version of the software. (click the image for a full-sized version).

Displaying the Error Log

When debugging a problem with Wonderland, it is often helpful to open the error log. This displays error messages that may explain problems you are experiencing in Wonderland. To open the error log, select the "Error Log" item from the "Help" menu:

This will bring up the error log window, which displays messages. You may be asked to configure the error log, for example to show more detail about a certain problem. If so, you can use the "configure" button on the error log window:

If you are submitting a bug report to the Wonderland forum or the issue tracker, you will want to generate an error report. This includes lots of extra data to help track down the problem. To generate an error report, click on the "error report" button on the error log window shown above. Then copy and paste the resulting report into the bug report or forum post:

Displaying the Java Console

In some situations, the error needed to debug Wonderland may not be included in the error log. In this case, you may need to turn on the Java console, which displays all log messages for the client. To turn on the Java console:

Showing the Java Console on Windows

  1. Make sure the Open Wonderland client is not running
  2. From the Start menu, select Control Panel.
  3. In the Control Panel, click on Java.
  4. In the Java Control Panel, click on the Advanced tab.
  5. Click on the + before Debugging and select Enable logging.
  6. Click on the + before Java console and click on Show console.
  7. Click OK

Showing the Java Console on Mac OS

  1. Make sure the Open Wonderland client is not running
  2. Navigate to Applications --> Utilities --> Java
  3. Open Java Preferences
  4. Click the Advanced tab
  5. Under the Debugging heading, check Enable logging
  6. Under the Java console heading, click Show console
  7. Click Save and close the Java Preference dialog

Showing the Java Console on Linux/Solaris

  1. Make sure the Open Wonderland client is not running
  2. From a terminal, enter javaws -viewer. Two windows should appear, one titled "Java Control Panel" and another titled "Java Cache Viewer".
  3. On the window titled "Java Cache Viewer", click the Close button.
  4. In the Java Control Panel, click on the Advanced tab.
  5. Click on the + before Debugging and select Enable logging.
  6. Click on the + before Java console and click on Show console.
  7. Click OK
Comment by judikael...@gmail.com, Nov 23, 2010

hi, i get teh wonderland.jar i run it by console with wondows except. it runs. i launch the java webstart. it ask me a login i thought i must imagine one. the webstart run but all is black in the window off java wabstart.

Error report generated 23 nov. 2010 16:31:31

-------- System Information -------- Java version: 1.6.0_22 Java vendor:Sun Microsystems Inc. OS:Windows XP OS version: 5.1 OS architecture: x86

Max memory: 518979584 Total memory: 129892352 Free memory: 78670952

-------- Graphics Information -------- GL_ARB_fragment_program...true GL_ARB_fragment_shader...false GL_ARB_shader_objects...false GL_ARB_texture_non_power_of_two...false GL_ARB_vertex_buffer_object...true GL_ARB_vertex_program...true GL_ARB_vertex_shader...false GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB...0 GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB...0 GL_MAX_TEXTURE_COORDS_ARB...8 GL_MAX_TEXTURE_IMAGE_UNITS_ARB...16 GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT...2.0 GL_MAX_TEXTURE_UNITS...8 GL_MAX_VARYING_FLOATS_ARB...0 GL_MAX_VERTEX_ATTRIBS_ARB...16 GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB...0 GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB...0 GL_SGIS_generate_mipmap...true GL_SHADING_LANGUAGE_VERSION_ARB... GL_VERSION_1_2...true GL_VERSION_2_0...false GL_VERSION_2_1...false GL_VERSION_3_0...false

-------- Error Log -------- WARNING 16:26:43 org.jdesktop.wonderland.client.jme.Webstart webstartSetup Running from Java Web Start. Performing setup. WARNING 16:29:19 org.jdesktop.wonderland.common.utils.ScannedClassLoader? createDB Scanned classes in 2484 ms. WARNING 16:29:21 org.jdesktop.wonderland.client.jme.JmeClientMain? <init> Error connecting to default server http://mauffret-leborg:8080/ java.io.IOException: Error connecting to http://mauffret-leborg:8080/

at org.jdesktop.wonderland.client.jme.JmeClientMain?.loadServer(JmeClientMain?.java:368) at org.jdesktop.wonderland.client.jme.JmeClientMain?.loadServer(JmeClientMain?.java:326) at org.jdesktop.wonderland.client.jme.JmeClientMain?.<init>(JmeClientMain?.java:265) at org.jdesktop.wonderland.client.jme.JmeClientMain?.main(JmeClientMain?.java:543) 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)
Caused by: org.jdesktop.wonderland.client.comms.ServerUnavailableException?: No running Darkstar server found for http://mauffret-leborg:8080/
at org.jdesktop.wonderland.client.login.ServerSessionManager?.createSession(ServerSessionManager?.java:317) at org.jdesktop.wonderland.client.jme.JmeClientMain?.loadServer(JmeClientMain?.java:366) ... 12 more
WARNING 16:29:58 org.jdesktop.wonderland.client.jme.JmeClientMain?$2$1 run Error connecting to http://mauffret-leborg:8080 java.io.IOException: Error connecting to http://mauffret-leborg:8080
at org.jdesktop.wonderland.client.jme.JmeClientMain?.loadServer(JmeClientMain?.java:368) at org.jdesktop.wonderland.client.jme.JmeClientMain?.loadServer(JmeClientMain?.java:326) at org.jdesktop.wonderland.client.jme.JmeClientMain?$2$1.run(JmeClientMain?.java:225) at java.lang.Thread.run(Unknown Source)
Caused by: org.jdesktop.wonderland.client.comms.ServerUnavailableException?: No running Darkstar server found for http://mauffret-leborg:8080/
at org.jdesktop.wonderland.client.login.ServerSessionManager?.createSession(ServerSessionManager?.java:317) at org.jdesktop.wonderland.client.jme.JmeClientMain?.loadServer(JmeClientMain?.java:366) ... 3 more
WARNING 16:30:01 org.jdesktop.wonderland.client.jme.JmeClientMain?$2$1 run Error connecting to http://mauffret-leborg:8080 java.io.IOException: Error connecting to http://mauffret-leborg:8080
at org.jdesktop.wonderland.client.jme.JmeClientMain?.loadServer(JmeClientMain?.java:368) at org.jdesktop.wonderland.client.jme.JmeClientMain?.loadServer(JmeClientMain?.java:326) at org.jdesktop.wonderland.client.jme.JmeClientMain?$2$1.run(JmeClientMain?.java:225) at java.lang.Thread.run(Unknown Source)
Caused by: org.jdesktop.wonderland.client.comms.ServerUnavailableException?: No running Darkstar server found for http://mauffret-leborg:8080/
at org.jdesktop.wonderland.client.login.ServerSessionManager?.createSession(ServerSessionManager?.java:317) at org.jdesktop.wonderland.client.jme.JmeClientMain?.loadServer(JmeClientMain?.java:366) ... 3 more

-------- Threads -------- JBullet Physics Thread TIMED_WAITING

java.lang.Thread.sleep(native) java.lang.Thread.sleep(null:-1) org.jdesktop.mtgame.JBulletPhysicsSystem.run(JBulletPhysicsSystem.java:151) java.lang.Thread.run(null:-1)

pool-2-thread-5 WAITING

sun.misc.Unsafe.park(native) java.util.concurrent.locks.LockSupport?.park(null:-1) java.util.concurrent.locks.AbstractQueuedSynchronizer?$ConditionObject?.await(null:-1) java.util.concurrent.LinkedBlockingQueue?.take(null:-1) java.util.concurrent.ThreadPoolExecutor?.getTask(null:-1) java.util.concurrent.ThreadPoolExecutor?$Worker.run(null:-1) java.lang.Thread.run(null:-1)

Java2D Disposer WAITING

java.lang.Object.wait(native) java.lang.ref.ReferenceQueue?.remove(null:-1) java.lang.ref.ReferenceQueue?.remove(null:-1) sun.java2d.Disposer.run(null:-1) java.lang.Thread.run(null:-1)

Processor 3 WAITING

java.lang.Object.wait(native) java.lang.Object.wait(Object.java:485) org.jdesktop.mtgame.ProcessorThread?.getNextProcessorComponent(ProcessorThread?.java:183) org.jdesktop.mtgame.ProcessorThread?.run(ProcessorThread?.java:114)

pool-2-thread-9 WAITING

sun.misc.Unsafe.park(native) java.util.concurrent.locks.LockSupport?.park(null:-1) java.util.concurrent.locks.AbstractQueuedSynchronizer?$ConditionObject?.await(null:-1) java.util.concurrent.LinkedBlockingQueue?.take(null:-1) java.util.concurrent.ThreadPoolExecutor?.getTask(null:-1) java.util.concurrent.ThreadPoolExecutor?$Worker.run(null:-1) java.lang.Thread.run(null:-1)

pool-2-thread-4 WAITING

sun.misc.Unsafe.park(native) java.util.concurrent.locks.LockSupport?.park(null:-1) java.util.concurrent.locks.AbstractQueuedSynchronizer?$ConditionObject?.await(null:-1) java.util.concurrent.LinkedBlockingQueue?.take(null:-1) java.util.concurrent.ThreadPoolExecutor?.getTask(null:-1) java.util.concurrent.ThreadPoolExecutor?$Worker.run(null:-1) java.lang.Thread.run(null:-1)

Long sleeping thread TIMED_WAITING

java.lang.Thread.sleep(native) com.sun.scenario.animation.MasterTimer?$LongSleepingThread?.run(MasterTimer?.java:87)

Signal Dispatcher RUNNABLE

EventDistributor? WAITING

sun.misc.Unsafe.park(native) java.util.concurrent.locks.LockSupport?.park(null:-1) java.util.concurrent.locks.AbstractQueuedSynchronizer?$ConditionObject?.await(null:-1) java.util.concurrent.LinkedBlockingQueue?.take(null:-1) org.jdesktop.wonderland.client.input.EventDistributor?.run(EventDistributor?.java:149) java.lang.Thread.run(null:-1)

Javaws Secure Thread WAITING

java.lang.Object.wait(native) java.lang.Object.wait(Object.java:485) com.sun.javaws.ui.JavawsSysRun?$SecureThread?.run(null:-1)

CacheMemoryCleanUpThread? WAITING

java.lang.Object.wait(native) java.lang.ref.ReferenceQueue?.remove(null:-1) java.lang.ref.ReferenceQueue?.remove(null:-1) com.sun.deploy.cache.MemoryCache?$LoadedResourceCleanupThread?.run(null:-1)

TimerQueue? WAITING

java.lang.Object.wait(native) javax.swing.TimerQueue?.run(null:-1) java.lang.Thread.run(null:-1)

pool-1-thread-1 WAITING

sun.misc.Unsafe.park(native) java.util.concurrent.locks.LockSupport?.park(null:-1) java.util.concurrent.locks.AbstractQueuedSynchronizer?$ConditionObject?.await(null:-1) java.util.concurrent.DelayQueue?.take(null:-1) java.util.concurrent.ScheduledThreadPoolExecutor?$DelayedWorkQueue?.take(null:-1) java.util.concurrent.ScheduledThreadPoolExecutor?$DelayedWorkQueue?.take(null:-1) java.util.concurrent.ThreadPoolExecutor?.getTask(null:-1) java.util.concurrent.ThreadPoolExecutor?$Worker.run(null:-1) java.lang.Thread.run(null:-1)

Attach Listener RUNNABLE

DestroyJavaVM RUNNABLE

pool-2-thread-2 WAITING

sun.misc.Unsafe.park(native) java.util.concurrent.locks.LockSupport?.park(null:-1) java.util.concurrent.locks.AbstractQueuedSynchronizer?$ConditionObject?.await(null:-1) java.util.concurrent.LinkedBlockingQueue?.take(null:-1) java.util.concurrent.ThreadPoolExecutor?.getTask(null:-1) java.util.concurrent.ThreadPoolExecutor?$Worker.run(null:-1) java.lang.Thread.run(null:-1)

pool-2-thread-6 WAITING

sun.misc.Unsafe.park(native) java.util.concurrent.locks.LockSupport?.park(null:-1) java.util.concurrent.locks.AbstractQueuedSynchronizer?$ConditionObject?.await(null:-1) java.util.concurrent.LinkedBlockingQueue?.take(null:-1) java.util.concurrent.ThreadPoolExecutor?.getTask(null:-1) java.util.concurrent.ThreadPoolExecutor?$Worker.run(null:-1) java.lang.Thread.run(null:-1)

pool-2-thread-10 WAITING

sun.misc.Unsafe.park(native) java.util.concurrent.locks.LockSupport?.park(null:-1) java.util.concurrent.locks.AbstractQueuedSynchronizer?$ConditionObject?.await(null:-1) java.util.concurrent.LinkedBlockingQueue?.take(null:-1) java.util.concurrent.ThreadPoolExecutor?.getTask(null:-1) java.util.concurrent.ThreadPoolExecutor?$Worker.run(null:-1) java.lang.Thread.run(null:-1)

HeaderPanel? Allocator Thread TIMED_WAITING

java.lang.Thread.sleep(native) org.jdesktop.wonderland.modules.appbase.client.cell.view.viewdefault.HeaderPanelAllocator?.run(HeaderPanelAllocator?.java:106) java.lang.Thread.run(null:-1)

Processor 0 WAITING

java.lang.Object.wait(native) java.lang.Object.wait(Object.java:485) org.jdesktop.mtgame.ProcessorThread?.getNextProcessorComponent(ProcessorThread?.java:183) org.jdesktop.mtgame.ProcessorThread?.run(ProcessorThread?.java:114)

Finalizer WAITING

java.lang.Object.wait(native) java.lang.ref.ReferenceQueue?.remove(null:-1) java.lang.ref.ReferenceQueue?.remove(null:-1) java.lang.ref.Finalizer$FinalizerThread?.run(null:-1)

AWT-Windows RUNNABLE

sun.awt.windows.WToolkit.eventLoop(native) sun.awt.windows.WToolkit.run(null:-1)

AWT-EventQueue?-1 WAITING

java.lang.Object.wait(native) java.lang.Object.wait(Object.java:485) java.awt.EventQueue?.getNextEvent(null:-1) java.awt.EventDispatchThread?.pumpOneEventForFilters(null:-1) java.awt.EventDispatchThread?.pumpEventsForFilter(null:-1) java.awt.EventDispatchThread?.pumpEventsForHierarchy(null:-1) java.awt.EventDispatchThread?.pumpEvents(null:-1) java.awt.EventDispatchThread?.pumpEvents(null:-1) java.awt.EventDispatchThread?.run(null:-1)

derby.rawStoreDaemon TIMED_WAITING

java.lang.Object.wait(native) org.apache.derby.impl.services.daemon.BasicDaemon?.rest(null:-1) org.apache.derby.impl.services.daemon.BasicDaemon?.run(null:-1) java.lang.Thread.run(null:-1)

Processor 1 WAITING

java.lang.Object.wait(native) java.lang.Object.wait(Object.java:485) org.jdesktop.mtgame.ProcessorThread?.getNextProcessorComponent(ProcessorThread?.java:183) org.jdesktop.mtgame.ProcessorThread?.run(ProcessorThread?.java:114)

Invoker Thread for App Base WAITING

java.lang.Object.wait(native) java.lang.Object.wait(Object.java:485) org.jdesktop.wonderland.modules.appbase.client.App2D$Invoker.run(App2D.java:551) java.lang.Thread.run(null:-1)

derby.antiGC WAITING

java.lang.Object.wait(native) java.lang.Object.wait(Object.java:485) org.apache.derby.impl.services.monitor.AntiGC.run(null:-1) java.lang.Thread.run(null:-1)

pool-2-thread-7 WAITING

sun.misc.Unsafe.park(native) java.util.concurrent.locks.LockSupport?.park(null:-1) java.util.concurrent.locks.AbstractQueuedSynchronizer?$ConditionObject?.await(null:-1) java.util.concurrent.LinkedBlockingQueue?.take(null:-1) java.util.concurrent.ThreadPoolExecutor?.getTask(null:-1) java.util.concurrent.ThreadPoolExecutor?$Worker.run(null:-1) java.lang.Thread.run(null:-1)

CacheCleanUpThread? WAITING

java.lang.Object.wait(native) java.lang.Object.wait(Object.java:485) com.sun.deploy.cache.CleanupThread?.run(null:-1)

traceMsgQueueThread WAITING

java.lang.Object.wait(native) java.lang.Object.wait(Object.java:485) com.sun.deploy.util.Trace$TraceMsgQueueChecker?.run(null:-1) java.lang.Thread.run(null:-1)

Timer-0 WAITING

java.lang.Object.wait(native) java.lang.Object.wait(Object.java:485) java.util.TimerThread?.mainLoop(null:-1) java.util.TimerThread?.run(null:-1)

Processor Manager Thread WAITING

java.lang.Object.wait(native) org.jdesktop.mtgame.ProcessorManager?.waitForProcessorsTriggered(ProcessorManager?.java:669) org.jdesktop.mtgame.ProcessorManager?.run(ProcessorManager?.java:310)

JME BufferUtils? Reference Queue Monitor WAITING

java.lang.Object.wait(native) java.lang.ref.ReferenceQueue?.remove(null:-1) java.lang.ref.ReferenceQueue?.remove(null:-1) com.jme.util.geom.BufferUtils?$1.run(BufferUtils?.java:92) java.lang.Thread.run(null:-1)

pool-2-thread-8 WAITING

sun.misc.Unsafe.park(native) java.util.concurrent.locks.LockSupport?.park(null:-1) java.util.concurrent.locks.AbstractQueuedSynchronizer?$ConditionObject?.await(null:-1) java.util.concurrent.LinkedBlockingQueue?.take(null:-1) java.util.concurrent.ThreadPoolExecutor?.getTask(null:-1) java.util.concurrent.ThreadPoolExecutor?$Worker.run(null:-1) java.lang.Thread.run(null:-1)

AWT-Shutdown WAITING

java.lang.Object.wait(native) java.lang.Object.wait(Object.java:485) sun.awt.AWTAutoShutdown.run(null:-1) java.lang.Thread.run(null:-1)

pool-2-thread-3 WAITING

sun.misc.Unsafe.park(native) java.util.concurrent.locks.LockSupport?.park(null:-1) java.util.concurrent.locks.AbstractQueuedSynchronizer?$ConditionObject?.await(null:-1) java.util.concurrent.LinkedBlockingQueue?.take(null:-1) java.util.concurrent.ThreadPoolExecutor?.getTask(null:-1) java.util.concurrent.ThreadPoolExecutor?$Worker.run(null:-1) java.lang.Thread.run(null:-1)

pool-2-thread-1 WAITING

sun.misc.Unsafe.park(native) java.util.concurrent.locks.LockSupport?.park(null:-1) java.util.concurrent.locks.AbstractQueuedSynchronizer?$ConditionObject?.await(null:-1) java.util.concurrent.LinkedBlockingQueue?.take(null:-1) java.util.concurrent.ThreadPoolExecutor?.getTask(null:-1) java.util.concurrent.ThreadPoolExecutor?$Worker.run(null:-1) java.lang.Thread.run(null:-1)

Processor 2 WAITING

java.lang.Object.wait(native) java.lang.Object.wait(Object.java:485) org.jdesktop.mtgame.ProcessorThread?.getNextProcessorComponent(ProcessorThread?.java:183) org.jdesktop.mtgame.ProcessorThread?.run(ProcessorThread?.java:114)

AWT-EventQueue?-0 RUNNABLE

java.lang.Thread.dumpThreads(native) java.lang.Thread.getAllStackTraces(null:-1) org.jdesktop.wonderland.client.jme.LogViewerFrame?.generateErrorReport(LogViewerFrame?.java:702) org.jdesktop.wonderland.client.jme.LogViewerFrame?.errorReportButtonActionPerformed(LogViewerFrame?.java:604) org.jdesktop.wonderland.client.jme.LogViewerFrame?.access$1700(LogViewerFrame?.java:65) org.jdesktop.wonderland.client.jme.LogViewerFrame?$13.actionPerformed(LogViewerFrame?.java:529) javax.swing.AbstractButton?.fireActionPerformed(null:-1) javax.swing.AbstractButton?$Handler.actionPerformed(null:-1) javax.swing.DefaultButtonModel?.fireActionPerformed(null:-1) javax.swing.DefaultButtonModel?.setPressed(null:-1) javax.swing.plaf.basic.BasicButtonListener?.mouseReleased(null:-1) java.awt.Component.processMouseEvent(null:-1) javax.swing.JComponent.processMouseEvent(null:-1) java.awt.Component.processEvent(null:-1) java.awt.Container.processEvent(null:-1) java.awt.Component.dispatchEventImpl(null:-1) java.awt.Container.dispatchEventImpl(null:-1) java.awt.Component.dispatchEvent(null:-1) java.awt.LightweightDispatcher?.retargetMouseEvent(null:-1) java.awt.LightweightDispatcher?.processMouseEvent(null:-1) java.awt.LightweightDispatcher?.dispatchEvent(null:-1) java.awt.Container.dispatchEventImpl(null:-1) java.awt.Window.dispatchEventImpl(null:-1) java.awt.Component.dispatchEvent(null:-1) java.awt.EventQueue?.dispatchEvent(null:-1) java.awt.EventDispatchThread?.pumpOneEventForFilters(null:-1) java.awt.EventDispatchThread?.pumpEventsForFilter(null:-1) java.awt.EventDispatchThread?.pumpEventsForHierarchy(null:-1) java.awt.EventDispatchThread?.pumpEvents(null:-1) java.awt.EventDispatchThread?.pumpEvents(null:-1) java.awt.EventDispatchThread?.run(null:-1)

MTGame Renderer TIMED_WAITING

java.lang.Thread.sleep(native) java.lang.Thread.sleep(null:-1) org.jdesktop.mtgame.Renderer.run(Renderer.java:951)

Reference Handler WAITING

java.lang.Object.wait(native) java.lang.Object.wait(Object.java:485) java.lang.ref.Reference$ReferenceHandler?.run(null:-1)

Comment by Manty01A...@gmail.com, Jan 11, 2011

I get "Your GlassFish? Enterprise Server Is Now Running" page, there is absolutely nothing about OpenWonderland there. What exactly is the meaning of this?

Comment by michel.m...@gmail.com, Jan 11, 2011

For using Open Wonderland you need to install it first, as explained e.g. in: http://openwonderland.org/index.php?option=com_content&view=article&id=70&Itemid=64

When you do so, it will AUTOMATICALLY install a special version of GlassFish?. You should NOT install any GlassFish? by yourself, and if you already did (as it seems) you must un-install it.

-michel


Sign in to add a comment
Powered by Google Project Hosting