0

I deployed a large EAR (contained more than ~1024 jars/wars) on JBoss running with Java 6 on Linux, and the deployment process cried throwing the following exception:

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)
....
4

2 回答 2

1

这是由 Linux/Unix 操作系统中的“打开文件描述符数量限制”引起的。默认值为 1024。

您可以使用以下命令检查默认值:

ulimit -n

要增加打开文件描述符的数量(例如,增加到 2048):

ulimit -n 2048

查看ulimit 的手册页以获取更多详细信息。

于 2010-04-12T03:54:36.507 回答
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
于 2013-12-19T12:13:36.527 回答