I have an application, which has multiple modules and various dependencies. When I deploy the application on Glassfish 4, I am getting error:
org.jboss.weld.
Are you by any chance packaging the Jersey specific libraries in your EAR file. I believe glassfish does provide the Jersey libraries and you do not need to package them.
I think you have two @Named bean class with the same name.
Glassfish is already having Jerseys libraries packaged for you, so you need add provided
scope into your Maven pom.xml
as stated in the docs.
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
If you are using any Jersey specific feature, you will need to depend on Jersey directly.
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.4.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.4.1</version>
<scope>provided</scope>
</dependency>