Error de permiso denegado de java.io.File.createTempFile

Descripción

Se observa un error en el archivo error.log que informa "java.io.IOException: Permiso denegado" y la traza de la pila contiene "java.io.File.createTempFile".

1.6.2017 16:34:02,631 ERROR [qtp1085110594-4453] org.apache.felix.http.jetty Excepción al procesar la solicitud a /system/console/configMgr/com.adobe.cq.experiencelog.impl.ExperienceLogConfigServlet (java.io.IOException: Permiso denegado)

java.io.IOException: Permiso denegado

        en java.io.UnixFileSystem.createFileExclusive(Native Method)

        en java.io.File.createTempFile(File.java:2024)

        en org.apache.felix.cm.file.FilePersistenceManager._store(FilePersistenceManager.java:699)

        en org.apache.felix.cm.file.FilePersistenceManager.store(FilePersistenceManager.java:660)

        en org.apache.felix.cm.impl.CachingPersistenceManagerProxy.store(CachingPersistenceManagerProxy.java:242)

        en org.apache.felix.cm.impl.ConfigurationImpl.storeNewConfiguration(ConfigurationImpl.java:462)

        en org.apache.felix.cm.impl.ConfigurationImpl.init(ConfigurationImpl.java:183)

Entorno

Todas las versiones de AEM

Causa

El usuario propietario del proceso java de AEM no tiene los permisos adecuados para escribir en el directorio temporal del proceso java.

Resolución

  1. Averigüe si el parámetro JVM -Djava.io.tmpdir está configurado en el proceso java

    En Linux:

Ejecutar este comando

    ps -ef | grep java

Revise los parámetros de JVM buscando -Djava.io.tmpdir

    En Windows, Linux o Unix:

Vaya a http://aem-host:aem-port/system/console/jmx/java.lang%3Atype%3DRuntime

Busque java.io.tmpdir en la página.

Copie el valor de java.io.tmpdir en el portapapeles.

Vaya a esa ruta en el sistema operativo y conceda al usuario propietario del proceso java acceso completo de lectura y escritura a esa carpeta.

Si no encontró un parámetro java.io.tmpdir , conceda al usuario acceso al directorio temporal predeterminado del sistema operativo.  En Linux y Unix, este directorio es /tmp de forma predeterminada.  En Windows, el directorio se encuentra bajo el directorio raíz del usuario, por ejemplo, C:\Users\aemuser\AppData\Local\Temp

En esta página