2017-01-17 4 views
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. 

이 문제가 귀 파일에 대한 링크입니다 https://wetransfer.com/downloads/3585882e88626f6e5a480075fba0c48e20170118170610/43e43f스피어 자유 프로파일 16.0.0.4 배포 문제 (설정해 ZipException) 여기

+0

WAR 파일을 게시 할 수 있습니까? 또는 공유 할 수있는 테스트 케이스에서이를 재현 할 수 있습니까? 아마도 Liberty의 버그 일 수도 있고 일부 응용 프로그램 메타 데이터의 버그 일 수도 있습니다. 이러한 폴더의 경우 Liberty에서 더 빠른 시작을 위해 번들 상태, 앱 메타 데이터 등과 같은 항목을 캐시하는 데 사용됩니다. 해당 폴더의 어떤 것도 인터넷에서 다운로드하지 않아야합니다. –

+1

'--clean' 옵션으로 서버를 시동하고 문제가 없어지는지 볼 수 있습니다. –

+0

위의 문제가되는 귀 파일 참조 – Balaji

답변

0

Tax2290.war의의에 sqljdbc.jar 파일을 WEB은-INF는/lib 디렉토리가 포함 된 JAR를 포함 파일이 포함되어 있으며 내장 된 sqljdbc.jar 파일의 길이는 0이며 유효한 다른 아카이브 파일 인 sqljdbc.jar.old와 같습니다. Liberty가 질식시키는 것은이 임베디드 JAR 파일입니다.

0 길이의 JAR 파일을 sqljdbc.jar에서 제거하거나 유효한 JAR로 바꾸어서 문제를 해결할 수 있어야합니다.

Liberty는 아마도 더 나은 오류 메시지를 제공하거나이 사건을 더 잘 처리 할 수 ​​있어야합니다. 따라서 IBM 지원을 통해 PMR을 여는 것이 좋습니다.

감사합니다. Andy