Errore Autorizzazione negata da java.io.File.createTempFile

Se ricevi un errore di autorizzazione negata da java.io.File.createTempFile, verifica se il parametro JVM -Djava.io.tmpdir è impostato sul processo java. Se non hai trovato un java.io.tmpdir , quindi concedere all'utente l'accesso alla directory temporanea del sistema operativo predefinito.

Descrizione description

Ambiente

Adobe Experience Manager (AEM) (tutte le versioni)

Problema/Sintomi

Si è verificato un errore in error.log che riporta java.io.IOException: Permission denied e la traccia dello stack ha java.io.File.createTempFile in esso.

01.06.2017 16:34:02.631 *ERROR* [ qtp1085110594-4453]  org.apache.felix.http.jetty Exception while processing request to /system/console/configMgr/com.adobe.cq.experiencelog.impl.ExperienceLogConfigServlet (java.io.IOException: Permission denied)

java.io.IOException: Permission denied

        at java.io.UnixFileSystem.createFileExclusively(Native Method)

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

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

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

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

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

        at org.apache.felix.cm.impl.ConfigurationImpl.<init>(ConfigurationImpl.java:183)

Risoluzione resolution

Verificare se il parametro JVM -Djava.io.tmpdir è impostato sul processo java.

Su Linux:

  1. Esegui questo comando:

    code language-none
    ps -ef | grep java
    
  2. Controlla i parametri JVM che cercano -Djava.io.tmpdir

Su Windows, Linux o Unix:

  1. Vai a https://aem-host:aem-port/system/console/jmx/java.lang%3Atype%3DRuntime

  2. Cerca java.io.tmpdir sulla pagina.

  3. Copia il valore di java.io.tmpdir negli Appunti.

  4. Vai a tale percorso sul sistema operativo e concedi all’utente proprietario del processo Java l’accesso completo in lettura/scrittura a tale cartella.

  5. Se non hai trovato un java.io.tmpdir, quindi concedere all'utente l'accesso alla directory temporanea del sistema operativo predefinito.

    • In Linux e Unix, questa directory è /tmp per impostazione predefinita.
    • In Windows, la directory si trova nella home directory dell’utente (ad esempio: C:\Users\aemuser\AppData\Local\Temp).

Causa

L’utente proprietario del processo Java AEM non dispone delle autorizzazioni necessarie per scrivere nella directory temporanea del processo Java.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f