Por uma compilação do produto Eclipse RCP não consegue encontrar classes em org.eclipse.ui durante a construção sem cabeça?

StackOverflow https://stackoverflow.com/questions/1286738

  •  18-09-2019
  •  | 
  •  

Pergunta

Eu tenho uma definição de produto que inclui uma característica que eu escrevi e o org.eclipse.feature. Quando eu construir este produto a partir de eclipse, é concluída com êxito. No entanto, quando tento usar a construir Headless, o processo de compilação falhar como ele reclama que não consegue encontrar as classes incluídas no org.eclipse.ui. Uma dessas classes, por exemplo, é PlatformUI. O processo de compilação, assim, falhar.

Eu verifiquei eo org.eclipse.ui está incluído no plugin org.eclipse.ui. Eu também tentou incluir este plugin explicitamente na minha recurso personalizado, mas sem sucesso.

Eu também tentei remover um desses plugins com problemas, mas o próximo que org.eclipse.ui usado falhou. Assim, parece ser definitivamente uma questão classpath de algum sowrt.

Eu tentei esta compilação sem cabeça usando a versão 3.3.2 do Eclipse.

Foi útil?

Solução

A classe org.eclipse.ui.PlatformUI está no org.eclipse.ui.workbench plug-in.

org.eclipse.ui.workbench é necessária e re-exportado pelo org.eclipse.ui. O pacote "org.eclipse.ui" é um href="http://eclipsesource.com/blogs/2008/08/22/tip-split-packages-and-visibility/" rel="nofollow noreferrer"> pacote dividido .

Se você estiver usando Import-Package para esta dependência, então você está apenas recebendo ligado a um dos fornecedores do pacote. Se você só precisa as classes do ui.workbench, então você pode adicionar um atributo a sua declaração Import-Package:

Import-Package:org.eclipse.ui;ui.workbench=split

Ou, você pode simplesmente mudar para Require-Bundle

Outras dicas

Será que você verifique seu arquivo build.properties?

Especificamente archivesFormat seção

A propriedade archivesFormat permite especificar o formato de saída (zip, tar e pasta) da construção em uma base de configuração.
O formato da propriedade é <configuration> - <format>, onde a configuração é o mesmo valor do que o especificado na propriedade configurações.

se especifica linux,gtk,x86-folder enquanto você está tentando construir com uma instalação win32, não vai funcionar.

Infelizmente, mostra Eclipse comportamento diferente entre a exportação de um produto no GUI e fazê-lo sem cabeça. Eles não são exatamente o mesmo.

Um problema que eu encontrei no passado é que eu precisava do delta pacote instalado para a construção sem cabeça para trabalhar, mesmo que eu estava fazendo a construir na mesma arquitetura que foi alvo (win32). Exportação do produto a partir da GUI iria funcionar sem o pacote de delta - doh

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top