Websphere 自由配置文件 16.0.0.4 部署问题 (ZipException)
Websphere liberty profile 16.0.0.4 deployment issue (ZipException)
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.osgi1\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.
这是 link 有问题的 ear 文件
https://wetransfer.com/downloads/3585882e88626f6e5a480075fba0c48e20170118170610/43e43f
Tax2290.war 的 WEB-INF/lib 目录中的 sqljdbc.jar 文件包含同名的嵌入式 JAR 文件 - 并且该嵌入式 sqljdbc.jar 文件的长度为 0 -与另一个文件 sqljdbc.jar.old,这似乎是一个有效的存档。正是这个嵌入式 JAR 文件让 Liberty 感到窒息。
您应该能够通过从 sqljdbc.jar 中删除长度为 0 的 JAR 文件或将其替换为有效的 JAR 来解决问题。
也就是说,Liberty 应该可以提供更好的错误消息或者能够更好地处理这种情况,所以我建议打开一个有 IBM 支持的 PMR 来解决这个问题。
谢谢,安迪
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.osgi1\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.
这是 link 有问题的 ear 文件 https://wetransfer.com/downloads/3585882e88626f6e5a480075fba0c48e20170118170610/43e43f
Tax2290.war 的 WEB-INF/lib 目录中的 sqljdbc.jar 文件包含同名的嵌入式 JAR 文件 - 并且该嵌入式 sqljdbc.jar 文件的长度为 0 -与另一个文件 sqljdbc.jar.old,这似乎是一个有效的存档。正是这个嵌入式 JAR 文件让 Liberty 感到窒息。
您应该能够通过从 sqljdbc.jar 中删除长度为 0 的 JAR 文件或将其替换为有效的 JAR 来解决问题。
也就是说,Liberty 应该可以提供更好的错误消息或者能够更好地处理这种情况,所以我建议打开一个有 IBM 支持的 PMR 来解决这个问题。
谢谢,安迪