Quando eu inicio o Eclipse 4.3 recebo o erro “Invalid Configuration Location”

1

Quando instalei o Eclipse 4.3 (Kepler) pela primeira vez, ele rodou A-Okay. Eu até fiz um programa em Java.

Quando encerro o Eclipse e o executo novamente mais tarde, recebo a mensagem de erro abaixo. Pensando que fiz algo errado na instalação, eu o desinstalei e removi todos os vestígios do Eclipse. Então eu reinstalei, rodei o Eclipse e tudo foi ótimo.

Funcionou normalmente por alguns dias. Depois desliguei o computador e reiniciei algumas horas depois. O Eclipse emitiu a mesma mensagem de erro novamente, o erro Localização da Configuração Inválida. Então, algo dá errado após a execução inicial do Eclipse e impede novas execuções do programa.

Esta mensagem de erro é gerada quando eu executo o Eclipse (Kepler) no Kubuntu 13.10. Ele aparece logo após a tela inicial do Eclipse desaparecer:

**Invalid Configuration Location**
Locking is not possible in the directory "/opt/eclipse/configuration/org.eclipse.osgi". A common reason is that the file system or Runtime Environment does not support file locking for that location. Please choose a different location, or disable file locking passing "-Dosgi.locking=none" as a VM argument. 
Permission denied

Então eu fiz a sugestão de desativação e coloquei logo após a linha vmargs . Aqui está o arquivo ini atual para o Eclipse 4.3 (Kepler)

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20130807-1835
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.locking=none
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m

Mas ainda recebo a mesma mensagem idêntica. O arg -Dosgi.locking=none está funcionando, conforme evidenciado pelo fato de que o arquivo de log na pasta Configuration não menciona mais o bloqueio de arquivos como um problema. Aqui está o que eu recebo agora no log de configuração, o mais recente:

!SESSION 2013-11-22 22:25:06.162 -----------------------------------------------
eclipse.buildId=4.3.0.M20130911-1000
java.version=1.7.0_45
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.java.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product

!ENTRY org.eclipse.osgi 4 0 2013-11-22 22:25:14.821
!MESSAGE Error reading configuration: Permission denied
!STACK 0
java.io.IOException: Permission denied
    at java.io.UnixFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(File.java:1006)
    at java.io.File.createTempFile(File.java:1989)
    at org.eclipse.osgi.storagemanager.StorageManager.initializeInstanceFile(StorageManager.java:188)
    at org.eclipse.osgi.storagemanager.StorageManager.open(StorageManager.java:708)
    at org.eclipse.osgi.internal.baseadaptor.BaseStorage.initFileManager(BaseStorage.java:226)
    at org.eclipse.osgi.internal.baseadaptor.BaseStorage.initialize(BaseStorage.java:160)
    at org.eclipse.osgi.baseadaptor.BaseAdaptor.initializeStorage(BaseAdaptor.java:123)
    at org.eclipse.osgi.framework.internal.core.Framework.<init>(Framework.java:192)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:263)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1426)

!ENTRY org.eclipse.osgi 4 0 2013-11-22 22:25:14.869
!MESSAGE Startup error
!STACK 1
java.lang.RuntimeException: Permission denied
    at org.eclipse.osgi.framework.internal.core.Framework.<init>(Framework.java:194)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:263)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
Caused by: java.io.IOException: Permission denied
    at java.io.UnixFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(File.java:1006)
    at java.io.File.createTempFile(File.java:1989)
    at org.eclipse.osgi.storagemanager.StorageManager.initializeInstanceFile(StorageManager.java:188)
    at org.eclipse.osgi.storagemanager.StorageManager.open(StorageManager.java:708)
    at org.eclipse.osgi.internal.baseadaptor.BaseStorage.initFileManager(BaseStorage.java:226)
    at org.eclipse.osgi.internal.baseadaptor.BaseStorage.initialize(BaseStorage.java:160)
    at org.eclipse.osgi.baseadaptor.BaseAdaptor.initializeStorage(BaseAdaptor.java:123)
    at org.eclipse.osgi.framework.internal.core.Framework.<init>(Framework.java:192)
    ... 10 more

Portanto, a única opção restante é mover a Configuração. Ou talvez use -vm para especificar um caminho ou talvez passar um arg para o vm ?

Eu usei o guia para fazer a instalação do Eclipse, localizado em: link

Qual a probabilidade de funcionar?

    
por user218375 22.11.2013 / 18:42

1 resposta

0

No meu caso, o problema foi resolvido alterando o proprietário dos arquivos em questão, foi root por algum motivo. Isso altera o proprietário do diretório org.eclipse.osgi e todos os filhos para o proprietário de config.ini :

/opt/eclipse.4.3.2/configuration$ chown -R --reference config.ini org*

Se isso não ajudar, tente também adicionar a permissão de gravação:

/opt/eclipse.4.3.2/configuration$ chmod +w org*
    
por Maxim Kachurovskiy 30.05.2014 / 06:04