Como compilar um .java

Boa tarde senhores.
Minha dúvida não é tão simples assim, eu estou com uma aplicação web no eclipse e fiz algumas alterações
no código fonte de alguns arquivos .java, sendo que eu salvo eles simplesmente não recompilam.
Eu já selecionei e desselecionei Project -> Build Automatically, já salvei o projeto.
Já fui em Project -> Clean…
Já fui em Server na parte inferior direita, cliquei com o botão direto em cima do servidor e cliquei clean.
Já cliquei também em publish e até agora nada.
Quando eu vou em Server -> clean… ele não conclui o processo e não da crítica nenhuma.
Verificando os diretorios, os .java estão com as datas das alterações que eu fiz, agora os .class estão com as antigas datas.
Ao debugar o projeto eu tenho a impressão de que ele está com o código anterior.
A minha estrutura de pastas está um pouco diferente, no WebContent tem:

  1. /WEB-INF/classes <-- onde fica os diretorios e .class
  2. /WEB-INF/src <-- onde fica os .java
  3. /WEB-INF/web.xml
  4. html e jsp
  5. outras pastas (META-INF, etc…)
    Eu penso que ele não está compilando o código fonte.
    Alguém tem alguma explicação/sugestão/solução.
    Já publiquei um post sobre esse caso antes, mas agora estou mais próximo do real problema.
    Obrigado.

Deleta tudo o que é gerado e veja se ele realiza o build após executar um “clean” no projeto.
Se não executar, verifique as propriedades do seu projeto, pode ter algum erro de referência.

Já deletei todos os .class e dei um clean, não gerou nada e
não tenho a opção de fazer o build ou build project.

Com isso você quer dizer os arquivo .classpath e .project?

[quote=Lucas_Soares]Já deletei todos os .class e dei um clean, não gerou nada e
não tenho a opção de fazer o build ou build project.[/quote]

Provável que esteja com problema na configuração do seu projeto . Usas alguma ferramenta ANT ?
Veja o Java Build Path do seu projeto se tudo está configurado corretamente. Veja para qual JDK o Eclipse está apontando para executar a compilação.

Ferramenta ANT ?
Uso o eclipse indigo nu e cru.
Meu projeto tem struts tambêm, não sei se isso faz muita diferença sendo que é um projeto que estou
tentando dar manutenção, na verdade foi feito por outras pessoas, há muito tempo.
O eclipse está setado para jdk 7.

Não sei se é isso mas todos os projetos que fiz, vi e trabalhei os .java ficavam em um folder src.

E esse src com os .java era irmão do pai do WEB-INF. Ex.:

  • Projeto
    – src (.java)
    —br.com.etc (pacotes com os .java)

– WebRoot (pode variar a nomeclatura WebContent no seu caso)
—META-INF
—WEB-INF

E como para os applets você tem que por .class ao invés de .java no mesmo diretório do .jsp/.html/emfim acredito que ele não tente compilar nada do webcontent pra dentro.
Não sei se é isso ou como funciona de verdade, é so minha teoria que acabei de “inventar” com base no occorrido e o exemplo de applet.

Certo, entendo !
Nessa tarde estava fazendo um teste com o projeto, colocando o folder src como irmão do WebRoot que é o seu caso, mesmo assim ainda não está dando certo.
Meu .classpath tem uma tag assim:

Por acaso essa tag indica o destino de saída, ou seja os .class, nesse caso não tenho essa estrutura criada.
Será que o java já deveria criar esses diretórios ?

Ah que pena :cry: minha teoria foi por agua abaixo então…

Sobre a tag no .classpath ela faz isso sim e se o diretório não existir ainda a IDE cria, no eclipse quando você cria aquele javaProject comum sempre é

já em projetos web mais uma vez pode variar dependendo do tipo de projeto:

No seu :
No que estou mechendo agora:

Boa sorte o/ e como você disse uma vez pra mim:

Coragem!

Como eu faço para habilitar aquela função Project -> Build Project
ou Project -> Build All, porém eu só tenho projetos web no meu workspace, e é normal elas ficarem assim: desabilitado ?

O projeto foi feito na versão helios do eclipse,
será que a versão tem alguma diferença ?
E a versão do sdk tambêm ?

Aqui as duas opções estão desabilitadas tambem e tenho JavaProject e DWJavaProject no workspace.
Nunca cheguei a usar essas duas em especifico pois o Clean… logo abaixo faz o rebuild tambem.