Weld doesn't need the servlet api on the class path. 

The API is at javax.enterprise:cdi-api:1.0-SP4 in Maven.

On 26 Mar 2012, at 08:23, Mark Struberg wrote:

> PS: I should also explain why we need the servlet-api.jar atm.
> I'm not 100% sure if we need it in the Weld integration, but for OWB we need 
> it IF someone uses the openwebbeans-web plugin. 
> 
> 
> In OWB we have a plugable ContainerLifecycle. This is 'plug&play' and can be 
> easily configured via or META-INF/openwebbeans/openwebbean.properties as 
> described in [1]. If you only use openwebbeans-core, then you will get a 
> StandaloneLifeCycle which doesn't need the servlet. 
> 
> 
> But if you use the CdiCtrl in a webapp and the openwebbeans-web.jar is 
> available, you will get a WebContainerLifecycle. And this one needs a 
> Session, thus I had to provide a MockSession for it (just in case). We could 
> do further tricks to do classForName for HttpSession and only create the 
> MockSession if it is available. Might be a good feature!
> 
> What is the state of affairs in weld? Does it always need a servlet-api.jar 
> on the classpath or can it live without as well?
> 
> LieGrue,
> strub
> 
> 
> 
> [1] 
> http://struberg.wordpress.com/2010/09/21/flexible-configuration-for-modular-systems/
> 
> 
> 
> ----- Original Message -----
>> From: Mark Struberg <strub...@yahoo.de>
>> To: "deltaspike-users@incubator.apache.org" 
>> <deltaspike-users@incubator.apache.org>
>> Cc: 
>> Sent: Monday, March 26, 2012 9:14 AM
>> Subject: Re: missing class
>> 
>> Hi Justin!
>> 
>> You need the standalone CDI api jar of course if you are not running in an 
>> EE 
>> container. 
>> 
>> You could use the following:
>> 
>> http://repo1.maven.org/maven2/org/apache/geronimo/specs/geronimo-jcdi_1.0_spec/1.0/
>> 
>>             <dependency>
>>                 <groupId>org.apache.geronimo.specs</groupId>
>>                 <artifactId>geronimo-jcdi_1.0_spec</artifactId>
>>                 <version>1.0</version>
>>             </dependency>
>> 
>> 
>> I'm pretty sure Weld has a standalone CDI API jar as well.
>> You will also need the JSR-330 API Jar, and the interceptors.jar since 
>> JSR-299 
>> is depending on it
>> 
>>             <dependency>
>>                 <groupId>org.apache.geronimo.specs</groupId>
>>                 <artifactId>geronimo-atinject_1.0_spec</artifactId>
>>                 <version>1.0</version>
>>             </dependency>
>> 
>>             <dependency>
>>                 <groupId>org.apache.geronimo.specs</groupId>
>>                 
>> <artifactId>geronimo-interceptor_1.1_spec</artifactId>
>>                 <version>1.0</version>
>>             </dependency>
>> 
>> The easiest might be to check the poms of the standalone implementations 
>> inside 
>> deltaspike:
>> cdictrl/impl-owb/pom.xml and
>> cdictrl/impl-weld/pom.xml
>> 
>> hth!
>> 
>> LieGrue,
>> strub
>> 
>> 
>> 
>> ----- Original Message -----
>>> From: Justin Lee <j...@antwerkz.com>
>>> To: deltaspike-users@incubator.apache.org
>>> Cc: 
>>> Sent: Monday, March 26, 2012 4:35 AM
>>> Subject: missing class
>>> 
>>> So when following the instructions here
>>> 
>> http://struberg.wordpress.com/2012/03/17/controlling-cdi-containers-in-se-and-ee/(adjusting
>>> for 0.2-incubating-SNAPSHOT since apparently nothing's been
>>> released yet), I get the error below:
>>> 
>>> java.util.ServiceConfigurationError:
>>> org.apache.deltaspike.cdise.api.CdiContainer: Provider
>>> org.apache.deltaspike.cdise.owb.OpenWebBeansContainerControl could not be
>>> instantiated: java.lang.NoClassDefFoundError:
>>> javax/enterprise/context/spi/Contextual
>>> 
>>> I could import the ee6 api pom but I'd rather not.  tbh, i half 
>> expected
>>> such a dependency to be provided for me given that the whole point is run a
>>> CDI context in SE.  Should I just add the dep to my pom or am I missing
>>> something here?
>>> 
>>> -- 
>>> You can find me on the net at:
>>> http://antwerkz.com                 http://antwerkz.com/+
>>> http://antwerkz.com/github
>>> http://antwerkz.com/linkedin     http://antwerkz.com/twitter
>>> 
>> 

Reply via email to