Por uma compilação do produto Eclipse RCP não consegue encontrar classes em org.eclipse.ui durante a construção sem cabeça?
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.
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