On J2EE project and weblogic 10.3.4 servers we are using Apache Hadoop e.g: Hadoop hdfs and Hadoop commons jar, these hadoop jars are injecting com.sun.jersey dependency. Now we are migrating from weblogic 10.3.4 to weblogic 12.2.1 servers which is deprecated in weblogic 12C, So I am getting below error while publishing(Deploying) my EAR on 12C servers :-
java.lang.Exception: Exception received from deployment driver. See Error Log view for more detail. at
oracle.eclipse.tools.weblogic.server.internal.DeploymentProgressListener.watch(DeploymentProgressListener.java:193)
at oracle.eclipse.tools.weblogic.server.internal.WlsJ2EEDeploymentHelper.redeploy(WlsJ2EEDeploymentHelper.java:686)
at oracle.eclipse.tools.weblogic.server.internal.WlsJ2EEDeploymentHelper.deploy(WlsJ2EEDeploymentHelper.java:495) at
oracle.eclipse.tools.weblogic.server.internal.WeblogicServerBehaviour.publishWeblogicModules(WeblogicServerBehaviour.java:1486) at
oracle.eclipse.tools.weblogic.server.internal.WeblogicServerBehaviour.publishToServer(WeblogicServerBehaviour.java:944) at
oracle.eclipse.tools.weblogic.server.internal.WeblogicServerBehaviour.publishOnce(WeblogicServerBehaviour.java:735) at oracle.eclipse.tools.weblogic.server.internal.WeblogicServerBehaviour.publish(WeblogicServerBehaviour.java:584)
at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:774) at
org.eclipse.wst.server.core.internal.Server.publishImpl(Server.java:3172) at org.eclipse.wst.server.core.internal.Server$PublishJob.run(Server.java:345) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: weblogic.application.ModuleException: org.glassfish.jersey.server.model.ModelValidationException: Validation of the application resource model has failed
during application initialization. [[WARNING] The (sub)resource method getRoot in
org.apache.hadoop.hdfs.server.namenode.web.resources.NamenodeWebHdfsMethods contains empty path annotation.;
source='public javax.ws.rs.core.Response
org.apache.hadoop.hdfs.server.namenode.web.resources.NamenodeWebHdfsMethods.getRoot(org.apache.hadoop.security.UserGroupInformation,org.apache.hadoop.hdfs.web.resources.DelegationParam,org.apache.hadoop.hdfs.web.resources.UserParam,org.apache.hadoop.hdfs.web.resources.DoAsParam,org.apache.hadoop.hdfs.web.resources.GetOpParam,org.apache.hadoop.hdfs.web.resources.OffsetParam,org.apache.hadoop.hdfs.web.resources.LengthParam,org.apache.hadoop.hdfs.web.resources.RenewerParam,org.apache.hadoop.hdfs.web.resources.BufferSizeParam) throws
java.io.IOException,java.net.URISyntaxException,java.lang.InterruptedException', [WARNING] The (sub)resource method
putRoot in org.apache.hadoop.hdfs.server.namenode.web.resources.NamenodeWebHdfsMethods contains empty path
annotation.; source='public javax.ws.rs.core.Response
Few solutions which I have already tried and tested but failed to get desired result:-
1)I have searched for latest versions of these Apache Hadoop jars, but they all inject jersey dependency version 1.x.
2)Have added this to weblogic-application.xml
<prefer-application-packages>
<package-name>com.sun.jersey.*</package-name>
</prefer-application-packages>
3)Have added the Shared Libraries to weblogic domain with all required jersey 1.x jars.
Please help as we are not able to reach any conclusive solution.