Servidor Rest com Maven no Eclipse
Vamos então para um passo-a-passo objetivando a ativação de um projeto básico de Servidor Rest utilizando o Eclipse com o Maven. Acredito que será uma série de tutoriais a respeito, já que são configurações com detalhes fáceis de esquecer.
Configurando o ambiente.
Para este procedimento precisamos ter o java JDK versão 8. Encontrado no link do site da oracle:
https://www.oracle.com/technetwork/java/javase/downloads/index.html
Atenção para baixar JDK, que é o instalador para ambiente de desenvolvimento. Nele já vem incluso o JRE.
Não abordarei instalação de java, mas a forma de verificar seu funcionamento é executando em um prompt de comando: java -version
Na estrutura acima, localizar o arquivo pom.xml e clicar duas vezes nele para editar.
Apagar o conteúdo dele e inserir o seguinte, exatamente como está, prestando atenção ao nome do projeto que está neste modelo abaixo:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>MeuSiteRest</groupId>
<artifactId>MeuSiteRest</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>MeuSite Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.17</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.17</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.17</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
<build>
<finalName>MeuSite</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webXml>WebContent\WEB-INF\web.xml</webXml>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
Feito isso salvar.
Obs: Importante que os campos em negrito acima sejam ajustados de acordo com sua versão do JDK. Caso contrário pode dar problema durante a compilação do projeto.
Em seguida, clicar o botão direito no projeto e selecionar Properties.
Na tela a seguir em java build path verifica-se a versão do java errada, Clicar em JRE e em edit para corrigir a versão.
Deverá ajustar para o JRE default do workspace
Outro ajuste a ser realizado é no Compiler, que deverá também estar na versão do JDK, no caso 1.8.
A seguir a parte mais chata, em Project Facets, deverá ser seguido de forma atenta.
Esta tela acima encontra-se a forma padrão, deveremos alterar alguns campos. Inicialmente desmarcar o java, aplicar, alterar a versão para a correta e em seguida aplicar novamente.
Quase acabando....
Clicar botão direito no projeto, RunAS Run on Server
Neste processo, ainda não temos um servidor Tomcat para servir a porta de conexão.
Nesta tela, procurar por Tomcat 8.0 Server e Next.
Ajustar a versão do JDK, e clicar em Download and Install. Abrirá uma janela para indicar a pasta onde será salvo o servidor.
Após o rápido processo de instalação chegará na tela para selecionar o projeto para carregamento
Clicar em Next.
Configurando o ambiente.
Para este procedimento precisamos ter o java JDK versão 8. Encontrado no link do site da oracle:
https://www.oracle.com/technetwork/java/javase/downloads/index.html
Atenção para baixar JDK, que é o instalador para ambiente de desenvolvimento. Nele já vem incluso o JRE.
Não abordarei instalação de java, mas a forma de verificar seu funcionamento é executando em um prompt de comando: java -version
Nesta tela verifica-se que o java não está instalado. Mas após instalação deve ter o retorno a seguir:
Outro requisito será o Eclipse JEE instalado. Caso não possua siga o link : https://www.eclipse.org/downloads/packages/
Feito o Download e instalação do JDK e do Eclipse, veremos a preparação do ambiente no eclipse.
Abra o eclipse e preferencialmente crie um novo Workspace
No passo seguinte será iniciar a configuração de ambiente no Eclipse, clicar em Windows preferences.
Siga ate o item Java / Installed JREs
No lado direito perceberá que a versão está incorreta, precisamos que seja apontado para o JDK.
Então, clicar em edit, e em seguida clicar em directory no primeiro campo da tela a seguir
Deverá ir até o diretório do jdk, no caso acima no windows ficou c:\Program Files\Java\jdk1.8.0_191
em JRE name, colocar JDK1.8.0_191, feito isso, clicar em finish.
A seguir clicar no item Compiler, ainda na configuração do java.
Deverá ficar marcada a versão 1.8. Feito isso clicar em apply and close. Na tela a seguir iniciamos a parte do maven.
Clicar em File, New, Maven Project.
Next
Nesta tela selecionar maven archetype webapp 1.0.
No nome insira o que desejar, no exemplo coloquei MeuSiteRest, nos três campos colocar exatamente igual, pelo menos para nosso caso de projeto básico.
Após clicar em finish, as pastas iniciais são criadas automaticamente.
Na estrutura acima, localizar o arquivo pom.xml e clicar duas vezes nele para editar.
Apagar o conteúdo dele e inserir o seguinte, exatamente como está, prestando atenção ao nome do projeto que está neste modelo abaixo:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>MeuSiteRest</groupId>
<artifactId>MeuSiteRest</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>MeuSite Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.17</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.17</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.17</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
<build>
<finalName>MeuSite</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webXml>WebContent\WEB-INF\web.xml</webXml>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
Feito isso salvar.
Obs: Importante que os campos em negrito acima sejam ajustados de acordo com sua versão do JDK. Caso contrário pode dar problema durante a compilação do projeto.
Em seguida, clicar o botão direito no projeto e selecionar Properties.
Em seguida entrar na opção Deployment Assembly. Lá deverá constar o Maven Dependencies, caso contrário deverá clicar em ADD, java Build Path Entries e selecionar o Maven Dependencies.
Na tela a seguir em java build path verifica-se a versão do java errada, Clicar em JRE e em edit para corrigir a versão.
Deverá ajustar para o JRE default do workspace
Outro ajuste a ser realizado é no Compiler, que deverá também estar na versão do JDK, no caso 1.8.
A seguir a parte mais chata, em Project Facets, deverá ser seguido de forma atenta.
Esta tela acima encontra-se a forma padrão, deveremos alterar alguns campos. Inicialmente desmarcar o java, aplicar, alterar a versão para a correta e em seguida aplicar novamente.
Mesmo processo para o dynamic web module, desmarca, altera a versao para 3.1 e aplica.
Caso dê erro que nao reconhece o java, desmarca, aplica e fecha, e volta novamente na tela, marca, altera a versão e aplica.
Na tela ao marcar o dynamic, aparece opção de further configuration, clicar nele e na tela que aparece, marcar a opção: generate web.xml e clicar em OK.
próximo a marcar é JAX-RS. Também aparece further configuration, em type, deixar selecionado disable library configuration.
Feito isso, clicar em apply and close.
Em seguida clicar com botão direito no projeto, e Maven, update project. Nisso ficarã a seguinte estrutura
Remover o arquivo index.jsp.
Vamos então no caminho src / main / java criar um pacote chamado servico
Em package criar uma classe com nome calculadora
Na classe calculadora, insira o código acima. É uma estrutura básica apenas para deixar o serviço respondendo às solicitações.
Outro arquivo importante é web.xml ele fica no caminho: webcontent/web-inf
apagar o conteúdo e inserir o seguinte, (atenção ao nome do projeto)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
<display-name>MeuSiteRest</display-name>
<servlet>
<servlet-name>jersey-servlet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>servico</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-servlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
</web-app>
Feito isso, salvar. Clicar botão direito no projeto, run as / Maven install.
Durante o processo será realizado download de dependências e configurado ambiente.
Quase acabando....
Clicar botão direito no projeto, RunAS Run on Server
Neste processo, ainda não temos um servidor Tomcat para servir a porta de conexão.
Nesta tela, procurar por Tomcat 8.0 Server e Next.
Ajustar a versão do JDK, e clicar em Download and Install. Abrirá uma janela para indicar a pasta onde será salvo o servidor.
Após o rápido processo de instalação chegará na tela para selecionar o projeto para carregamento
Clicar em Next.
Eis o susto, mas lembrar que na configuração o caminho publicado é o host/rest/calculadora, ficando entao: http://localhost/MeuSiteRest/Rest/calculadora
O retorno do Rest é texto. O que fazer com ele, já fica para outra postagem quando eu tiver aprendido ;)










































Comentários
Postar um comentário