2010-04-10 1 views
0

я развернула большой EAR (содержится более ~ 1024 банок/войны) на JBoss работает с Java 6 на Linux, и процесс развертывания вскричал бросали следующее исключение:JBoss deploy бросает «java.util.zip.ZipException: ошибка в открытии zip-файла» на Linux?

java.lang.RuntimeException: java.util.zip.ZipException: error in opening zip file) 
    at org.jboss.deployment.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:53) 
    at org.jboss.deployment.MainDeployer.init(MainDeployer.java:901) 
    at org.jboss.deployment.MainDeployer.init(MainDeployer.java:895) 
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:809) 
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782) 
.... 
Caused by: java.lang.RuntimeException: java.util.zip.ZipException: error in opening zip file 
at org.jboss.util.file.JarArchiveBrowser.<init>(JarArchiveBrowser.java:74) 
at org.jboss.util.file.FileProtocolArchiveBrowserFactory.create(FileProtocolArchiveBrowserFactory.java:48) 
at org.jboss.util.file.ArchiveBrowser.getBrowser(ArchiveBrowser.java:57) 
at org.jboss.ejb3.EJB3Deployer.hasEjbAnnotation(EJB3Deployer.java:213) 
.... 
+1

Отвечая на ваш собственный вопрос в порядке (даже поощряется), но мы попросите вас, как обычно, следовать тем же формам вопросов/ответов. То есть переместите часть ответа на отдельный ответ. Спасибо, и Добро пожаловать! –

+0

Разделил вопрос и ответ, как предложил «Билл Ящерица». Спасибо за комментарий! – Kaushalya

ответ

1

Это было вызвано «предел количества открытых файловых дескрипторов» в операционных системах Linux/Unix. По умолчанию 1024.

Вы можете проверить значение по умолчанию с помощью:

ulimit -n 

Чтобы увеличить количество дескрипторов открытых файлов (скажем, 2048):

ulimit -n 2048 

Проверьте man page of ulimit для более подробно.

0

вы можете увеличить количество открытых файлов ограничения

если вы

ulimit -n 2048 

значение временно изменяется, то сброс после перезагрузки лучше изменить его

sudo vi /etc/security/limits.conf 

и добавьте эти строки, заменив имя пользователя jboss

user soft nofile 9000 
user hard nofile 65000 

после этого

sudo vi /etc/pam.d/common-session 

и добавить

session required pam_limits.so 

перезапустить сервер и проверить пределы

ulimit -n 
Смежные вопросы