0
We are using Websphere liberty profile 16.0.0.4 to deploy EAR application.
Nothing jee specific. the EAR has a simple WAR file. We put the EAR file inside
the dropins folder and it seems like websphere is extracting the content of EAR 
file inside the workarea directory.

When reading the content of one jar sqljdbc.jar it puts the jar inside cache 
folder. However the sqljdbc.jar seems to be a 0 sized file.

Here is a sample path to the sqljdbc.jar. All of them are directories

D:\comdata\wlp\usr\servers\defaultServer\workarea\org.eclipse.osgi\121\data\cach
e\com.ibm.ws.app.manager_88\Tax2290.war\WEB-INF\lib\.cache\sqljdbc.jar

The sqljdbc.jar inside sqljdbc.jar folder above turns out to be 0 byte sized. 
Because of this ZipException is thrown.

There is also this exception thrown before the ZipException. I am not sure if
it is related to this or not.

java.lang.ClassNotFoundException: iconnectlogout 
com.ibm.ws.jaxrs20.server.component.JaxRsWebModuleInfoBuilder

What are these org.eclipse.osgi, cache, com.ibm.ws.app.manager_88 folders. 

We checked the WAR file inside EAR and it has the right sized sqljdbc.jar.

any ideas why this is happening? Is anything getting downloaded from internet?
Proxy / firewall issues.

First Edit:
-----------

Uploaded the problematic ear file.

Here is link to problematic ear file https://wetransfer.com/downloads/3585882e88626f6e5a480075fba0c48e20170118170610/43e43f

Balaji
  • 201
  • 2
  • 12
  • Would it be possible for you to post your WAR file? Or maybe reproduce it in a test case that you could share? It sounds like there may be some application deployment issues -- possibly a bug in Liberty or a bug in the some application metadata. As for those folders, they are used by Liberty to cache things like bundle states, app metadata, etc. for faster startup. Nothing in those folders should be getting downloaded from the internet. – Andy McCright Jan 17 '17 at 16:51
  • 1
    You might try starting your server with the `--clean` option and see if the problem goes away. – Scott Kurz Jan 18 '17 at 14:31
  • Refer to the problematic ear file above – Balaji Jan 18 '17 at 17:12
  • --clean option didn't work – Balaji Jan 18 '17 at 17:21
  • Hi Andy / Scott, any updates? I can post the server.xml if needed. This has javaee7 enabled. – Balaji Jan 19 '17 at 14:17

1 Answers1

0

The sqljdbc.jar file in the Tax2290.war's WEB-INF/lib directory contains an embedded JAR file with the same name - and that embedded sqljdbc.jar file is 0 length - with another another file, sqljdbc.jar.old, that seems like a valid archive. It is this embedded JAR file that Liberty is choking on.

You should be able to resolve the problem by removing that 0 length JAR file from the sqljdbc.jar -- or by replacing it with a valid JAR.

That said, Liberty should probably provide a better error message or be able to handle this case better, so I would suggest opening a PMR with IBM support to have this addressed.

Thanks, Andy

Andy McCright
  • 1,273
  • 6
  • 8