Como "forçar" a criação do .class no Eclipse?

Olá a todos.

Desculpem se a pergunta é básica demais. Tentei usar a busca do fórum, mas não sei o que usar como palavra chave para achar isso.

Tenho um projeto carregado no Eclipse. No diretório estão todos os .java, mas nenhum deles está compilado (.class).

Tenho a flag “Build Automatically” ligada no menu “Project”.

Configurei, como faço sempre, o “Run…” pra rodar o projeto e coloquei a classe inicial lá.

Mas quando executo o projeto (com “Run…” ou “Debug…”), recebo uma exceção, dizendo que a classe não foi encontrada. Olhando no diretório do projeto, vejo que ainda só estão os .java – nenhum .class lá!!!

Como eu faço o Eclipse complilar meus fontes “na marra”?

Já tentei desabilitar o “Build Automatically” e usar o “Build Project” ou “Build All” mas não funcionou (e também não deu nenhuma mensagem de erro e pela velocidade que ele executou o comando, também não deve ter feito nada – de fato, os .class ainda não estão lá).

Isso aconteceu depois que eu estava tentando modificar um dos fontes. Eu tinha comentado parte do código e rodava, mas o código comentado continuava sendo executado. Olhei no .class (usando o JAD http://kpdus.tripod.com/jad.html) e o trecho de código que deveria estar comentado não estava. Aí tentei usar “Project->Clean…” pra apagar os .class e forçar o Eclipse a gerar todas as classes novamente, mas daí comecei a ter a exceção de classe não encontrada.

Ou seja, mesmo antes de eu usar o “Clean…” minhas classes não estavam sendo geradas (apesar de eu ter ligado a flag “Build Automatically”.

Então, repetindo aqui a pergunta que coloquei no assunto da mensagem: Como faço pra “forçar” a compilação das classes no Eclipse?

Obrigado,

Marcio

Tenta abilitar a view “problems” e dá uma verificada se não tem nada critico q esteja impedindo a compilação das suas classes.

Por favor, antes de perguntar, leia este topico:
http://www.guj.com.br/posts/list/15477.java

[quote=urubatan]Por favor, antes de perguntar, leia este topico:
http://www.guj.com.br/posts/list/15477.java
[/quote]

Como disse na minha mensagem, não sei o que usar como palavra chave para fazer uma busca sobre esse tópico. Eu tentei várias vezes com diversas palavras-chave diferentes, mas não achei nada que respondesse minha dúvida.

Voce poderia me sugerir algo para tentar na busca?

Obrigado!

Marcio

[quote=theBalrog]veja na pasta do projeto,
por Default, vc terá uma pasta BIN, é nessa pasta bin que estão os .CLASS[/quote]

Eu nunca modifiquei esse tipo de coisa, portanto acho que estou usando o default aqui.

Por exemplo esse é o conteúdo de um projeto funcionando:

$ pwd
/home/mrsva/workspace

$ ls ContextMenuPA/
csplugins

$ ls ContextMenuPA/csplugins/contextmenu/pae/
csplugins NodeAction$2.class NodeAction.class PAEPlugin.java
CVS NodeAction$3.class NodeAction.java
NodeAction$1.class NodeAction$4.class PAEPlugin.class

E esse é o projeto com problema:

$ ls Piccolo/
edu

$ ls Piccolo/edu/umd/cs/piccolo/examples/
ActivityExample.java NodeCacheExample.java
AngleNodeExample.java NodeEventExample.java
BirdsEyeViewExample.java NodeExample.java
CameraExample.java PanToExample.java
CenterExample.java PathExample.java
ClipExample.java PiccoloPresentation.java
CompositeExample.java PositionExample.java
DynamicExample.java PositionPathActivityExample.java
EventHandlerExample.java PulseExample.java
ExampleRunner.java ScrollingExample.java
FullScreenNodeExample.java SelectionExample.java
GridExample.java SquiggleExample.java
GroupExample.java StickyExample.java
HandleExample.java StickyHandleLayerExample.java
HelloWorldExample.java TextExample.java
KeyEventFocusExample.java TooltipExample.java
LayoutExample.java TwoCanvasExample.java
LensExample.java WaitForActivitiesExample.java
NavigationExample.java

Aparentemente não tem nenhum bin/ nem no diretório do arquivo que tento rodar nem no diretório raíz do projeto.

Marcio

Resolvido!

Usei a famosa solução “Windows” para resolver problemas :slight_smile:

Apaguei todo o projeto, fechei o Eclipse, abri o Eclipse de novo, re-criei o projeto e re-importei todos os arquivos.

Agora funciona! :slight_smile:

Talvez fosse algum problema de “timestamp” dos arquivos:
Como eu apaguei os .class, o Eclipse deveria gerá-los novamente, mas acho que ele deve guardar internamente a informação de timestamp dos arquivos, e ele devia estar “acreditando” que os .class eram mais novos que os .java (portanto não precisavam ser re-compilados), daí não funcionou. Se bem que eu modificava os .java e salvava novamente… Sei lá, isso é só um “chute” :wink:

Valeu pelas respostas!

Marcio

veja na pasta do projeto,
por Default, vc terá uma pasta BIN, é nessa pasta bin que estão os .CLASS