Estrutura de pastas no Eclipse

Boa noite pessoal,

Quebrei a cabeça tentando criar a estrutura de um novo projeto no Eclipse igual a desse zip aqui, alguém teria alguma dica?

Estou usando o Eclipse Mars.1

Link: https://github.com/alura-cursos/webservices-rest-com-jaxrs-e-jersey/blob/master/loja.zip

Eu até consegui criar os diretórios e marcar como Source, mas tem o diretório target, além da estrutura do WEB-INF já pronta, fucei tudo e não achei como criar, será que terei que editar manualmente o .classpath?

Obrigado desde já!

Pelo que pude pesquisar, aparentemente o projeto usou o Maven, como eu nunca usei, se alguém tiver alguma dica eu fico grato!

O projeto do arquivo .zip definitivamente não é maven.

Para isso ele teria que ter na raiz do projeto um arquivo chamado pom.xml que é o descritor principal onde informamos várias características de construção do projeto, bem como suas dependências.

E esse arquivo inexiste nesse projeto.

Acho que foi um projeto Java comun iniciado no Eclipse.

Mas você deveria aproveitar a oportunidade, ler um pouco sobre Maven e iniciar seu projeto com ele.
Você vai ficar bem feliz com o ganho de tempo em algumas atividades rotineiras, como informar uma dependências por exemplo, ou gerar um .jar.

Abs.

Muito obrigado pela resposta guivirtuoso!

Então, eu dei uma lida sobre Maven, por isso que comentei. Olhando o arquivo .classpath tem a menção “**/*.java” e vi isso também na documentação do Maven (maven-eclipse-plugin pra ser mais exato).

Mas por que é tão difícil reproduzir aquela estrutura? Você conseguiu? Acha que editando manualmente o .classpath fica mais fácil?

Mais uma vez obrigado pela explicação!

Cara… vai sem medo…

New Project -> Maven … vai ser só sucesso!

Mais uma vez obrigado guivirtuoso!

Acha que uma estrutura igual a abaixo fica legal para um webservice rest?

_/src/
__|
__|__main/
__|__|
__|__|__java/
__|__|__|
__|__|__|__<pacotes aqui>
__|__|
__|__|__webapp/
__|__|__|
__|__|__|__WEB-INF/
__|__|__|__|
__|__|__|__|__lib/
__|__|__|__|__web.xml
__|__|__|
__|__|__|__index.html
__|
__|__test/
__|__|
__|__|__<pacotes de testes aqui>
__|
__|__target/

Não sei se tá muito confuso, mas tentei organizar da melhor forma. Esse target acho que seria para classes de teste compiladas.

Que tal? Alguma dica?

Então… essa estrutura de pastas é a estrutura padrão de um projeto Maven.

É uma ótima estrutura…

Chegasse a dar uma estudada no Maven?

Bom dia guivirtuoso!

Desculpe a demora em retornar.

Dei uma estudada sobre o Maven sim, até consegui criar um projeto, mas a estrutura fica diferente em alguns pontos e fico com receio de não funcionar igual o projeto loja do curso de REST.

Por exemplo, ele cria src/main/resources que no projeto loja não tem. A exportação do projeto loja para WAR é feita zipando o index.html e o WEB-INF e renomeando para .war.

Minha única preocupação é que como não tenho todo o conhecimento, queria ter algo funcionando para seguir o que aprendi no curso de REST, até mandei uma mensagem para o Guilherme perguntando sobre a estrutura e o porque das diferenças, mas acho difícil que ele responda.

Já que estais mais familiarizado com o Maven, então agora faça o seguinte (Use o Eclipse p/ facilitar).

(siga os passos com calma e vai dar tudo certo)

1 - Crie um projeto maven, sem uso de archetype.

2 - Clique com o botão direito em cima do projeto, vá em “properties”

3 - Acesse o item “Project Facets”

4 - Caso o item “Dynamic Web Module” esteja marcado, desmarque-o!

5 - Escolha a versão do Java (1.8 :wink: )

6 - Marque novamente o opção “Dynamic Web Module” e escolha a versão 3.0 ou superior. (Essa é a versão do seu Servlet, a partir da 3 os .jars são registrados automaticamente, não sendo necessário registra-los no web.xml)

7 - Ao clicar em “Dynamic Web Module” na parte debaixo da janela ficará disponível a opção “Further Configuration available…”, clique nela, marque para gerar o seu web.xml e escolha o diretório em que o projeto WEB ficará. Como é um projeto Maven, se você quiser deixar “bunitinho” você pode colocá-lo em “/src/main/webapp”

Clique em Apply.

Agora, abra o seu pom.xml , e pesquisa na internet sobre o plugin de geração de WAR para Maven.
Veja os exemplo… é bem simples.

Coloque os comandos no seu pom.xml na seção de (pode ser que seu pom.xml não tenha essa seção ainda… é soh criar conforme os exemplos.

Pronto… agora cada vez que você fizer um Install do seu projeto, ele gera na pasta Target um .war do seu projeto bunitão com tudo no lugar certo… :wink:

Vai lendo esse passo-a-passo com calma… vai pesquisando na net sobre os termos que mencionei… que vai dar tudo certo.

E na pior das hipóteses posta ai a duvida.

Abs

Ahh uma outra forma bem elegante de dizer a versão do java do seu projeto… já que estais usando Maven … é colocando isto no seu pom.xml:

<properties>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.source>1.8</maven.compiler.source>
</properties>

Abs