Java web com maven

Boa noite,

Estou fazendo um projeto de Irrigador automatico com Java usando o maven em casa.

Na URL de acesso eu tenho que acessar da seguinte forma:

http://IP:porta/Irrigador-1.0.0-SNAPSHOT/home.xhtml

Mas eu gostaria de acessar sempre como http://IP:porta/Irrigador/home.xhtml

Teria como fazer isso sem retirar o versionamento no pow.xml?

Segue meu pow.xml

<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>br.com.ericteles</groupId>
  <artifactId>Irrigador</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>Irrigador</name>
  <description>Projeto de Irrigador automatico para apartamentos</description>
  
  <build>
      <plugins>
          <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>
                  <showDeprecation>true</showDeprecation>
                  <showWarnings>true</showWarnings>
              </configuration>
          </plugin>
      </plugins>
  </build>
  
  <dependencies>
      <dependency>
          <groupId>org.primefaces</groupId>
          <artifactId>primefaces</artifactId>
          <version>5.3</version>                   
      </dependency>
      <dependency>
          <groupId>com.sun.faces</groupId>
          <artifactId>jsf-api</artifactId>
          <version>2.2.10</version>
      </dependency>
      <dependency>
          <groupId>com.sun.faces</groupId>
          <artifactId>jsf-impl</artifactId>
          <version>2.2.10</version>          
      </dependency>
      <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
          <version>3.1.0</version>
      </dependency>
      <dependency>
        <groupId>com.pi4j</groupId>
        <artifactId>pi4j-core</artifactId>
           <version>1.0</version>
    </dependency>
  </dependencies>  
  
</project>

Agradeço qualquer ajuda!!
Obrigado

Já tentou acessar apenas pelo http://IP:porta/Irrigador/home.xhtml? Dá algum erro? Era pra acessar da forma como está.

Posta o seu web.xml

Tentei sim. Ele da erro dizendo que a URL não existe. Aparentemente a configuração do pow.xml esta sobrepondo a configuração de nome do projeto que esta no web.xml…

Segue o web.xml

<?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>Irrigador</display-name>
  <welcome-file-list>
        <welcome-file>home.xhtml</welcome-file>
    </welcome-file-list>
    <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>*.xhtml</url-pattern>        
    </servlet-mapping>
</web-app>

Você pode fazer assim no seu pom.xml:

<build>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-war-plugin</artifactId>
			<version>2.4</version>
			<configuration>
				<warName>Irrigador</warName>
			</configuration>
		</plugin>
	</plugins>
</build>

Ou Assim (tanto faz):

<properties>
     <propriedade.com.nome.do.war>Irrigador</propriedade.com.nome.do.war>
</properties>

<build>
    	<plugins>
    		<plugin>
    			<groupId>org.apache.maven.plugins</groupId>
    			<artifactId>maven-war-plugin</artifactId>
    			<version>2.4</version>
    			<configuration>
    				<warName>${propriedade.com.nome.do.war}</warName>
    			</configuration>
    		</plugin>
    	</plugins>
    </build>

No momento que der o install… ele criará o .war como nome que você definiu…
Os containners J2EE, quando não configurados através do arquivo application.xml usam o nome do proprio WAR p/ definir o contexto… ficando da forma como você quer.

Abs

1 curtida

Perfeito!!! Resolveu o problema!!!

Muito Obrigado!