users@glassfish.java.net

Re: which jersey classes/jars are part of 3.1

From: Ludovic Champenois <ludovic.champenois_at_oracle.com>
Date: Tue, 01 Mar 2011 16:36:13 -0800

On 3/1/11 4:29 PM, vince kraemer wrote:
> OK.
>
> I started to look through the default-web.xml and I must be too dense
> to interpret the meaning/usage of the init-param system-jar-includes.
>
> I started to google for a doc that covers it, but haven't been
> successful yet.
>
> I am particularly confused by two items in the value: /lib/ and \lib\.
>
> It also seems like the list of jars is a bit short... I created a jsp
> page that had
>
> <%_at_page import="javax.ws.rs.GET;" %>
>
> and got the following
>
> SEVERE: Error compiling file:
> /Users/vkraemer/GlassFish_Server_3.1/glassfish/domains/domain1/generated/jsp/WebApplication195/org/apache/jsp/index_jsp.java
> WARNING: StandardWrapperValve[jsp]: PWC1406: Servlet.service() for
> servlet jsp threw exception
> org.apache.jasper.JasperException: PWC6033: Error in Javac compilation
> for JSP
> PWC6199: Generated servlet error:
> string:///index_jsp.java:6: package javax.ws.rs does not exist
>
> I would think that standard interfaces includes all the Java EE 6
> apis, when the user has installed the 'full' profile... not the web
> profile.

Yes.
Please file a bug...All EE 6 APIs should be avaiable there.
And of course non portable APIs like the current JerSey client and other
APIs should not be visible by default.
This might be tricky as some APIs jars also contain Implementation
classes...

Ludo
> Either that or our interpretations of 'standard interfaces' is
> significantly different.
> Thanks,
> vbk
>
> Shing Wai Chan wrote:
>> Modifying default-web.xml will affect all the applications.
>> If you only want to modifying this for a particular web-application,
>> then one can change web.xml in the given war file.
>>
>> Shing Wai Chan
>>
>> On 3/1/11 2:06 PM, Tom Mueller wrote:
>>> This is a result of issue 15560:
>>> http://java.net/jira/browse/GLASSFISH-15560
>>>
>>> The 3.0.1 included every single GlassFish class in the classpath
>>> that was used to compile the Java generated from JSPs. This was
>>> incorrect as an application should only have access to the standard
>>> interfaces, not the internal implementation classes of the
>>> container. An application that depends on a com.sun.* class is not
>>> going to be portable.
>>>
>>> In 3.1, by default, only the standard packages are included.
>>>
>>> The list of JAR files is in the default-web.xml file in the config
>>> directory of your domain. You can edit this to include the JAR file
>>> that contains the com.sun.jersey.api.client package. See the
>>> "system-jar-includes" variable.
>>>
>>> Tom
>>>
>>>
>>>
>>>
>>
>