As Opções de Tempo de Execução do Eclipse

Última modificação em 4 de agosto de 2004, quarta-feira às 14:45

A plataforma do Eclipse é altamente configurável. A entrada de configuração toma a forma de argumentos da linha de comandos e de configurações de propriedades do sistema. Em muitos casos, os argumentos da linha de comandos são apenas atalhos para definição das propriedades do sistema relacionado. Na verdade, existem muito mais definições de propriedades do sistema do que argumentos da linha de comandos.

Argumentos da Linha de Comandos

Abaixo, estão listados os argumentos da linha de comandos processados por várias partes do tempo de execução do Eclipse. Muitos desses valores também podem ser especificados utilizando propriedades do sistema na linha de comandos utilizando argumentos -D VM ou especificando lá valores em um arquivo config.ini. Utilizando essa última técnica, é possível personalizar seu Eclipse sem utilizar nenhum argumento da linha de comandos.

Para cada argumento na lista, é fornecida sua chave correspondente de propriedade do sistema (entre {}). Também é fornecida a camada de tempo de execução do Eclipse na qual o argumento da linha de comandos é processado (entre ()). Isso é útil para pessoas que substituem partes do tempo de execução para atender a necessidades especiais.

-application <id> (Tempo de execução)
equivalente à definição eclipse.application para <id>
-arch <architecture> (OSGi)
equivalente à definição osgi.arch para <architecture>
-clean (OSGi) NEW
equivalente à definição osgi.clean para "true"
-configuration <location> (Principal)
equivalente à definição osgi.configuration.area para <location>
-console [port] (OSGi) NEW
equivalente à definição osgi.console para [port] ou a cadeia vazia se a porta padrão tiver que ser utilizada (por exemplo, quando a porta não é especificada)
-consoleLog (Tempo de execução)
equivalente à definição eclispe.consoleLog para "true"
-data <location> (OSGi)
equivalente à definição osgi.instance.area para <location>
-debug [options file] (OSGi)
equivalente à definição osgi.debug para [options file] ou a cadeia vazia para apenas ativar a depuração (por exemplo, se a localização do arquivo de opções não for especificada)
-dev [entries] (OSGi)
equivalente à definição osgi.dev para [entries] ou a cadeia vazia para apenas ativar o modo dev (por exemplo, se as entradas não forem especificadas)
-endSplash <command> (Principal)
especifica o comando a ser utilizado para descer a tela splash. Geralmente fornecido pelo executável do Eclipse.
-feature <feature id> (Tempo de execução)
equivalente à definição eclipse.product para <feature id>
-framework <location> (Principal) NEW
equivalente à definição osgi.framework para <location>
-initialize (Principal)
inicializa a configuração que está sendo executada. Todas as estruturas e caches de dados relacionadas ao tempo de execução são atualizadas. Nenhum dado de configuração definido do usuário/plug-in é limpo. Nenhum aplicativo é executado, todas as especificações do produto são ignoradas e nenhuma UI é apresentada (por exemplo, a tela splash não é desenhada)
-install <location> (Principal)
equivalente à definição osgi.install.area para <location>
-keyring <location> (Tempo de execução)
a localização do banco de dados de autorização no disco. Esse argumento deve ser utilizado junto com o argumento -password.
-nl <locale> (OSGi)
equivalente à definição osgi.nl para <locale>
-noLazyRegistryCacheLoading (Tempo de execução)
equivalente à definição eclipse.noLazyRegistryCacheLoading para "true"
-noRegistryCache (Tempo de execução)
equivalente à definição eclipse.noRegistryCache para "true"
-noSplash (Executável, Principal)
controla se a tela splash é mostrada ou não
-os <operating system> (OSGi)
equivalente à definição osgi.os para <operating system>
-password <password> (Tempo de execução)
a senha para o banco de dados de autorização
-pluginCustomization <location> (Tempo de execução)
equivalente à definição eclipse.pluginCustomization para <location>
-product <id> (OSGi) NEW
equivalente à definição eclipse.product para <id>
-showSplash <command> (Principal)
especifica o comando a utilizar para mostrar a tela splash. Geralmente fornecido pelo executável do Eclipse.
-user <location> (OSGi) NEW
equivalente à definição osgi.user.area para <location>
-vm <path to java executable> (Executável, Principal) NEW
quando transmitida ao executável do Eclipse, essa opção é utilizada para localizar o Java VM a ser utilizado para executar o Eclipse. Deve ser o caminho completo do sistema de arquivo para um executável Java apropriado. Se não for especificado, o executável do Eclipse utilizará um algoritmo de procura para localizar um VM adequado. De qualquer maneira, o executável transmite o caminho ao VM real utilizado para o Java Main utilizando o argumento -vm. O Java Main, então, armazena esse valor em eclipse.vm.
-vmargs [vmargs*] (Executável, Principal) NEW
quando transmitida ao Eclipse, essa opção é utilizada para personalizar a operação do Java VM a ser utilizada para executar o Eclipse. Se especificada, essa opção deve vir no final da linha de comandos. Mesmo que não seja especificado na linha de comandos do executável, o executável incluirá automaticamente os argumentos relevantes (incluindo a classe que está sendo ativada) na linha de comandos transmitida ao Java utilizando o argumento -vmargs. O Java Main, então, armazena esse valor em eclipse.vmargs.
-ws <window system> (OSGi)
equivalente à definição osgi.ws para <window system>

Argumentos obsoletos da linha de comandos

Os argumentos da linha de comandos a seguir não são mais relevantes ou foram substituídos e são consumidos pelo tempo de execução e não são transmitidos ao aplicativo que está sendo executado para manter a compatibilidade de retrocesso. .

-boot
consulte a -configuration
-classLoaderProperties
não é mais relevante
-firstUse
não é mais relevante
-newUpdates
não é mais relevante
-noPackagePrefixes
não é mais relevante
-noUpdate
não é mais relevante
-plugins
não é mais relevante
-update
não é mais relevante

Outros

Os argumentos da linha de comandos a seguir são definidos por vários plug-ins do Eclipse e serão suportados apenas se o plug-in de definição for instalado, resolvido e ativado.

-noVersionCheck (workbench)
<description>
-perspective (workbench)
<description>
-refresh (org.eclipse.core.resources)
<description>
-showLocation (org.eclipse.ui.ide.workbench)
<description>
-allowDeadlock
<description>

Propriedades do sistema

As propriedades do sistema a seguir são utilizadas pelo tempo de execução do Eclipse. Observe que aquelas que começam com "osgi" são específicas da implementação da estrutura OSGi, enquanto aquelas que começam com "eclipse" são particulares do tempo de execução do Eclipse com camada no topo da estrutura OSGi.

Muitas dessas propriedades têm equivalentes da linha de comandos (consulte a seção argumentos da linha de comandos e o valor entre os símbolos {}). Os usuários têm liberdade para utilizar as definições da linha de comandos ou de propriedade para especificar um valor. As propriedades podem ser definidas das seguintes maneiras:

eclipse.application {-application}
o identificador do aplicativo a ser executado. O valor fornecido aqui substitui qualquer aplicativo definido pelo produto (consulte eclipse.product) que está sendo executado
eclipse.commands
sdf
eclipse.consoleLog
se "true", qualquer saída do log também será enviada ao System.out do Java (geralmente de volta à shell de comando, se houver). Útil quando combinado com -debug
eclipse.debug.startupTime
o tempo em milissegundos quando o Java VM para essa sessão foi iniciado
eclipse.exitcode
<description>
eclipse.exitdata
<description>
eclipse.manifestConverter
o nome de classe da classe do conversor do manifesto a utilizar ao converter arquivos plugin.xml de legado em arquivos manifest.mf
eclipse.noExtensionMunging
se "true", a extensão do registro do legado é deixada como está. Por padrão, tais extensões são atualizadas para utilizar os novos ids do ponto de extensão localizados no Eclipse 3.0.
eclipse.noLazyRegistryCacheLoading {-noLazyRegistryCacheLoading}
se "true", a otimização do carregamento de cache de registro de plug-in da plataforma será desativada. Por padrão, os elementos de configuração são carregados a partir do cache de registro (quando disponível) apenas on demand, reduzindo a base da memória. Essa opção força o carregamento total do cache de registro na inicialização.
eclipse.noRegistryCache {-noRegistryCache}
se "true", o cache de registro de extensão interno não é lido nem gravado
eclipse.pluginCustomization {-pluginCustomization}
a localização do sistema de arquivos de um arquivo de propriedades que contém configurações padrão para preferências do plug-in. Essas definições padrão substituem as definições padrão especificadas no recurso principal. Os caminhos relativos são interpretados em relação ao diretório de trabalho atual para o próprio eclipse.
eclipse.product {-product}
o identificador do produto que está sendo executado. Ele controla várias informações sobre marca e qual aplicativo é utilizado.
eclipse.vm {-vm}
o caminho para o executável Java utilizado para executar o Eclipse. Essas informações são utilizadas para construir linhas de comandos reativadas.
eclipse.vmargs {-vmargs}
lista os argumentos VM utilizados para executar o Eclipse. Essas informações são utilizadas para construir linhas de comandos reativadas.
osgi.adaptor
o nome da classe do adaptador de estrutura OSGi a utilizar.
osgi.arch {-arch}
consulte -arch
osgi.baseConfiguration.area
asf
osgi.bundles
A lista separada por vírgulas de pacotes que são automaticamente instalados e opcionalmente iniciados depois que o sistema está ativo e em execução. Cada entrada tem a forma:
    <URL | simple bundle location>[@ [<start-level>] [":start"]]
se start-level (>0 inteiro) for omitido, a estrutura utilizará o nível de inicialização padrão para o pacote. se a marcação "start" for incluída, o pacote será marcado como iniciado depois de ser instalado. As localizações de pacotes simples são interpretadas como relativas ao diretório-pai da estrutura. O start-level indica o nível de inicialização de OSGi no qual o pacote deve ser executado. Se esse valor não for definido, o sistema computará um padrão apropriado.
osgi.clean
se definido para "true", qualquer dado em cache utilizado pela estrutura de OSGi e pelo tempo de execução do Eclipse será limpo. Isso limpará os caches utilizados para armazenar resolução de dependência de pacote configurável e os dados de registro da extensão. A utilização dessa opção forçará o eclipse a reinicializar esses caches.
osgi.configuration.cascaded
se definido como "true", essa configuração será feita em cascata para uma configuração pai. Consulte a seção em localizações para obter detalhes adicionais.
osgi.configuration.area {-configuration}
a localização da configuração para essa execução da plataforma. A configuração determina quais plug-ins serão executados e também várias outras configurações do sistema. Consulte a seção em localizações para obter detalhes adicionais.
osgi.configuration.area.default
a localização da configuração padrão para essa execução da plataforma. A configuração determina quais plug-ins serão executados e também várias outras configurações do sistema. Esse valor (por exemplo, a definição padrão) será utilizado apenas se nenhum valor para osgi.configuration.area for definido. Consulte a seção em localizações para obter detalhes adicionais.
osgi.console {-console}
se definido para um valor não-nulo, o console do OSGi (se instalado) será ativado. Se o valor for um inteiro adequado, ele será interpretado como a porta na qual o console atende e direcionará sua saída para a porta determinada. Útil para investigar o estado do sistema.
osgi.console.class
o nome da classe do console a ser executado, se solicitado
osgi.debug {-debug}
se definida para um valor não-nulo, a plataforma será colocada no modo de depuração. Se o valor for uma cadeia, ele será interpretado como a localização do arquivo .options. Esse arquivo indica quais pontos de depuração estão disponíveis para um plug-in e se eles estão ativados ou não. Se uma localização não for especificada, a plataforma procurará o arquivo .options no diretório de instalação.
osgi.dev {-dev}
se definido como cadeia vazia, o modo dev será apenas ligado. Essa propriedade pode também ser definida como entradas de um caminho de classe separadas por vírgula, que são incluídas no caminho de classe de cada plug-in ou um URL para um arquivo de propriedades Java que contém adições do caminho de classe personalizado para um conjunto de plug-ins. Para cada plug-in que requer um caminho de classe de tempo dev personalizado, o arquivo conterá uma entrada do formulário
    <id de plug-in>=<lista separada por vírgulas de entradas do caminho de classe a incluir>
onde o id de plug-in "*" corresponde a qualquer plug-in não mencionado de outra maneira.
osgi.framework
a localização do URL da estrutura do OSGi. Útil se a instalação do Eclipse estiver desconectada. Consulte a seção em localizações para obter detalhes adicionais.
osgi.frameworkClassPath
uma lista separada por vírgulas de entradas do caminho de classe para a implementação da estrutura do OSGi. As localizações relativas são interpretadas em relação à localização da estrutura (consulte osgi.framework)
osgi.install.area {-install}
a localização de instalação da plataforma. Essa definição indica a localização dos plug-ins do Eclipse básico e será útil se a instalação do Eclipse estiver desconectada. Consulte a seção em localizações para obter detalhes adicionais.
osgi.instance.area {-data}
a localização dos dados da instância para essa sessão. Os plug-ins utilizam esse local para armazenar seus dados. Por exemplo, o plug-in de Recursos o utiliza como a localização padrão para projetos (aka o espaço de trabalho). Consulte a seção em localizações para obter detalhes adicionais.
osgi.instance.area.default
a localização de dados da instância padrão para essa sessão. Os plug-ins utilizam esse local para armazenar seus dados. Por exemplo, o plug-in de Recursos o utiliza como a localização padrão para projetos (aka o espaço de trabalho). Esse valor (por exemplo, a definição padrão) será utilizada apenas se nenhum valor para osgi.instance.area for definido. Consulte a seção em localizações para obter detalhes adicionais.
osgi.manifest.cache
o local em que os manifestos gerados são descobertos e gerados. O padrão está na área de configuração, mas o cache do manifesto pode ser armazenado separadamente.
osgi.nl {-nl}
o nome do locale no qual a plataforma do Eclipse será executada. Os valores NL devem seguir as convenções de nomenclatura do locale Java padrão.
osgi.os {-os}
o valor do sistema operacional. O valor deve ser um dos nomes de arquitetura do processador do Eclipse conhecido do Eclipse (por exemplo, x86, sparc, ...).
osgi.splashLocation
a localização do URL absoluto da tela splash (arquivo .bmp) a ser mostrada durante a inicialização do Eclipse. Essa propriedade substitui qualquer valor definido em osgi.splashPath.
osgi.splashPath
uma lista de URLs separada por vírgulas para procurar um arquivo chamado splash.bmp. Essa propriedade é substituída por qualquer valor definido em osgi.splashLocation.
osgi.user.area {-user}
a localização da área do usuário. A área do usuário contém dados (por exemplo, preferências) específicos ao usuário do S.O. e independentes de qualquer instalação, configuração ou instância do Eclipse. Consulte a seção em localizações para obter detalhes adicionais.
osgi.user.area.default
a localização padrão da área do usuário. A área do usuário contém dados (por exemplo, preferências) específicos ao usuário do S.O. e independentes de qualquer instalação, configuração ou instância do Eclipse. Esse valor (por exemplo, a definição padrão) será utilizada apenas se nenhum valor for definido para osgi.user.area. Consulte a seção em localizações para obter detalhes adicionais.
osgi.ws {-ws}
o valor do sistema de janelas. O valor deve ser um dos nomes do sistema de janelas do Eclipse conhecido do Eclipse (por exemplo, win32, motif, ...).
osgi.syspath
<xxx ainda utilizado? corrija o nome>

Localizações

O tempo de execução do Eclipse define várias localizações que dão aos desenvolvedores de plug-in o contexto para leitura/armazenamento de dados e aos usuários do Eclipse um controle sobre o escopo do compartilhamento e visibilidade de dados. O Eclipse define as seguintes noções de localização:

Usuário (-user) {osgi.user.area} [@none, @noDefault, @user.home, @user.dir, filepath, url]
As localizações do usuário são específicas para figuras, usuários. Geralmente, a localização do usuário é baseada no valor da propriedade do sistema user.home Java, mas pode ser substituída. Informações como preferências de escopo do usuário e informações de login podem ser encontradas na localização do usuário.
Instalação (-install) {osgi.install.area} [@user.home, @user.dir, filepath, url]
Uma localização de instalação é onde o próprio Eclipse está instalado. Na prática, essa localização é o diretório (geralmente "eclipse") pai do startup.jar ou do eclipse.exe em execução. Essa localização deve ser considerada de leitura para usuários normais, uma vez que uma instalação pode ser compartilhada por muitos usuários. É possível definir a localização de instalação e separar startup.jar do restante do Eclipse.
Configuração (-configuration) {osgi.configuration.area} [@none, @noDefault, @user.home, @user.dir, filepath, url]
As localizações de configuração contêm arquivos que identificam e gerenciam o (sub)conjunto de uma instalação a ser executada. Dessa forma, pode haver muitas configurações por instalação. As instalações podem vir com uma área de configuração padrão, mas os cenários de inicialização típicos envolvem a tentativa do tempo de execução em encontrar uma localização de configuração mais gravável.
Instância (-data) {osgi.instance.area} [@none, @noDefault, @user.home, @user.dir, filepath, url]
As localizações da instância contêm artefatos de dados definidos pelo usuário. Por exemplo, o plug-in de Recursos utiliza a área da instância como a localização do espaço de trabalho e, assim, a home padrão para os projetos. Outros plug-ins são livres para gravar os arquivos que quiserem nessa localização.

Enquanto os usuários podem definir qualquer uma dessas localizações, o Eclipse calculará padrões justos se os valores não forem fornecidos. O usecase mais comum para definir a localização é a área da instância ou, no contexto IDE, o espaço de trabalho. Para executar a configuração do Eclipse padrão em um conjunto de dados específico, você pode especificar:

    eclipse -data c:\mydata

Detalhes adicionais

Localizações são URLs. Para simplificar, os caminhos de arquivos também são aceitos e automaticamente convertidos em arquivo: URLs. Para melhor controle e conveniência, há também várias localizações simbólicas predefinidas que podem ser utilizadas. Observe que nem todas as combinações de tipo de localização e valor simbólico são válidas. Uma tabela abaixo detalha quais combinações são possíveis. Como o caso padrão é para todas as localizações a serem definidas, válidas e graváveis, alguns plug-ins podem falhar em outras configurações mesmo que sejam listados como possíveis. Por exemplo, não é justo esperar que um plug-in focado em dados do usuário (por exemplo, o plug-in de Recursos do Eclipse) faça muito se a área da instância não for definida. É tarefa dos desenvolvedores de plug-in escolher as configurações que eles suportam e projetar sua função de acordo.

@none
Indica que a localização correspondente nunca deve ser definida seja explicitamente ou para seu valor padrão. Por exemplo, um aplicativo de estilo RCP que não tem dados de usuário pode utilizar osgi.instance.area=@none para evitar que arquivos estranhos sejam gravados no disco. @none não deve ser seguido por nenhum segmento de caminho adicional.
@noDefault
Força uma localização a ser não-definida ou definida explicitamente (por exemplo, o Eclipse não calculará automaticamente um valor padrão). Isso é útil onde você quer permitir dados na localização correspondente, mas o valor padrão do Eclipse não é apropriado. @noDefault não deve ser seguido por nenhum segmento de caminho adicional.
@user.home
Direciona o Eclipse a calcular um valor de localização relativo ao diretório home do usuário. @user.home pode ser seguido por segmentos de caminho adicionais. Em todos os casos, a cadeia "@user.home" é simplesmente substituída pelo valor da propriedade do Sistema "user.home" Java. Por exemplo, definir
    osgi.instance.area=@user.home/myWorkspace
resulta em um valor de
    file:/users/bob/myWorkspace
@user.dir
Direciona o Eclipse a calcular um valor de localização relativo ao diretório de trabalho atual. @user.dir pode ser seguido por segmentos de caminho adicionais. Em todos os casos, a cadeia "@user.dir" é simplesmente substituída pelo valor da propriedade do Sistema "user.dir" Java. Por exemplo, definir
    osgi.instance.area=@user.dir/myWorkspace
resulta em um valor de
    file:/usr/share/eclipse/myWorkspace
localização/valor
suporta padrão
arquivo/URL
@none
@noDefault
@user.home
@user.dir
instância
sim
sim
sim
sim
sim
sim (padrão)
configuração
sim
sim
sim*
sim*
sim
sim
install
não
sim
não
não
sim
sim
usuário
sim
sim
sim
sim
sim
sim

* indica que essa configuração é tecnicamente possível, mas pragmaticamente muito difícil de gerenciar. Em particular, sem uma localização de configuração, o tempo de execução do Eclipse pode apenas iniciar a estrutura do OSGi.

Avisos legais.