Hello, Jan.
It looks like the issue here is as follows: As you may know GlassFish creates a generated app client JAR file when an EAR contains one or more app client modules. It is this JAR that is used during launches of an app client.
When the generated JAR contains only one app client module there is no ambiguity about which client should be run, because there is only one. When the JAR contains multiple app clients then the app client container needs some help selecting which one to run.
One way of doing this is to specify the -name display-name option on the appclient command. Each app client's descriptor can contain a <display-name> element, and the app client container will use the value of the -name option to select the app client with that display-name.
Of course, NetBeans is handling the launch of the app client for you when you run the EAR from inside NetBeans. Because the EAR - and therefore the generated app client JAR - contains multiple app clients it seems that NetBeans cannot tell which app client you want to run, so it has no way of telling the ACC which one to launch.
The error message is not the greatest but it does reflect that the app client container is trying to choose which of the multiple clients to run. It is falling back to try to use the -name value and because that option was not specified that's why the error reports "null" for the display name.
I am not sure if there is a way around this in NetBeans. You can do so outside of NetBeans if you (1) make sure to specify a <display-name> in each of the app client's application-client.xml descriptors and then (2) on the appclient command specify -name xxx where xxx is the display-name of the client you want to launch.
The appclient command is capable of launching only one client at a time, but you could use appclient in two command windows and launch a different client in each.
I hope that helps some.
- Tim
[Message sent by forum member 'tjquinn' (tjquinn)]
http://forums.java.net/jive/thread.jspa?messageID=263339