Java EE - Aproveite toda a plataforma para construir aplicações

Olá Pessoal,

Eu realizei o passo a passo do livro, mas não consegui rodar o projeto “casadocodigo” ao fim do 3o. Capitulo. Ocorre o erro: Maven Java EE Configuration Problem => An error ocorred with filtering resources. Não estou conseguindo fazer o deploy pelo WildFly 8.2 porque quando rodo o projeto no DevStudio recebo a resposta página http://localhost:8080/casadocodigo/produtos/form.xhtml não encontrada (404 not found). Não consegui gravar um livro uma vez que a aplicação não roda - embora tenha seguido todos os passo constantes e-book - e não consigo avançar na leitura e aprendizado de todo o conteúdo do livro

Espero que possam me ajudar para dar continuidade a leitura e implementação da funcionalidade casadocodigo.

Desde já, agradeço,

João.

Alguma configuração pode estar incorreta já que ele não encontra o arquivo. Você tem seu projeto no github, assim eu teria alguma coisa para analisar.

Eu não conhecia essa ferramenta GitHub. Mas adicionei o projeto no site. Não sei como fazer para que você consiga acessá-lo.

É só você me passar o link do seu github que acesso seu projeto.

Seria este?

https://github.com/jcvdtc/casadocodigo

Olá, Gracyane,

Eu consegui eliminar o erro acessando Marven => Update Projects…

Agora ocorre o seguinte erro no deploy da aplicação:

[org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.deployment.unit.“casadocodigo.war”.FIRST_MODULE_USE: org.jboss.msc.service.StartException in service jboss.deployment.unit.“casadocodigo.war”.FIRST_MODULE_USE: JBAS018733: Failed to process phase FIRST_MODULE_USE of deployment “casadocodigo.war”.

Ao carregar a página localhost:8080/casadocodigo/produtos/form.xhtml recebo um 404- not found, o que indica que o deploy do projeto casadocodigo falhou.

Causa do Problema: org.hibernate.ejb.HibernatePersistence not found

No arquivo persistence.xml eu desabilitei a tag onde consta a classe do Hibernate. Agora recebo o seguinte erro:

New missing/unsatisfied dependencies:
service jboss.naming.context.java."\n\t\t\t\tjava:jboss".datasources.“casadocodigoDS\n\t\t\t” (missing) dependents: [service jboss.persistenceunit.“casadocodigo.war#casadocodigo-dev”.FIRST_PHASE]

No seu arquivo persistence.xml deixe estas configurações abaixo em uma única linha.

<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:jboss/datasources/casadocodigoDS</jta-data-source>

Evite deixar qualquer coisa comentado neste arquivo.
Certifique-se que o pom.xml está de acordo com o livro.

pom.xml referente ao meu projeto casadocodigo.

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.casadocodigo</groupId>
  <artifactId>casadocodigo</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>war</packaging>
  <properties>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.jboss.spec</groupId>
        <artifactId>jboss-javaee-6.0</artifactId>
        <version>3.0.3.Final</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>javax.faces</groupId>
        <artifactId>javax.faces-api</artifactId>
        <version>2.2</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.enterprise</groupId>
        <artifactId>cdi-api</artifactId>
        <version>1.1</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
				<groupId>org.hibernate.javax.persistence</groupId>
				<artifactId>hibernate-jpa-2.1-api</artifactId>
				<version>1.0.0.Draft-16</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>javax.transaction</groupId>
				<artifactId>javax.transaction-api</artifactId>
				<version>1.2</version>
				<scope>provided</scope>
			</dependency>
    </dependencies>
  </dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>javax.faces</groupId>
      <artifactId>javax.faces-api</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.enterprise</groupId>
      <artifactId>cdi-api</artifactId>
      <scope>provided</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>casadocodigo</finalName>
    <plugins>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <failOnMissingWebXml>false</failOnMissingWebXml>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

Consegui executar seu projeto aqui fazendo as alterações que mencionei pra você acima.

Outra coisa, se ainda tiver problema, apague manualmente o arquivo de deploy que o wildfly faz. Pode acontecer deste arquivo não estar sendo atualizado de forma correta,ficando com o contexto de alterações antigo. O diretório do deploy fica em:

\wildfly-8.2.0.Final\standalone\deployments\

Gracyane,

Fiz todas as alterações que propôs, mas continuo recebendo 404 - page not found, quando executo o projeto.

Na aba Markers aparece as segintes Warnings:

=> Classpath Dependency Validator Message
=> Classpath entry org.eclipse.pde.core.RequiredPlugins will not be exported or published. Runtime ClassNotFoundException may result.

=> JPA Problem
=> Console configuration “” does not exist. Hibernate specific validation and content assist will be limited.
=> No connection specified for project. No database-especific validation will be performed

=> Plug-in problems
=> No required execution environment has been set

Seria problemas com a versão do JBoss Developer Studio. Estou usando a versão 10.4.0 GA. Tentei baixar a versão que está no livro, mas ao acessar o link ele redireciona para esta versão.

Grato,

João

Estou usando a versão do livro. Se eu tiver tempo ainda hoje baixo a versão 10.4.0 e faço um teste.

Qual o número da versão que está usando?

Estou usando a 8.1.0 GA.

Vou tentar baixá-la para testar o projeto nessa versão.

Olá, Gracyane,

Baixei o devstudio 8.1.0 e tentei rodar o projeto a partir dessa IDE. Os erros diminuíram bastante, mas ainda estou recebendo um erro ao fazer o deploy:

11:18:37,374 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation (“deploy”) failed - address: ([(“deployment” => “casadocodigo.jar”)]) - failure description: {“JBAS014771: Services with missing/unavailable dependencies” => [“jboss.persistenceunit.“casadocodigo.jar#casadocodigo-dev”.FIRST_PHASE is missing [jboss.naming.context.java.”\n\t\t\t\tjava:jboss".datasources.“casadocodigoDS\n\t\t\t”]"]}

O erro parece fazer referências às configurações contidas no persistence.xml

Se você puder passar o persistence,xml que está usando eu agradeço antecipadamente

Olá. É o mesmo erro que você estava tendo.
O print do persistente.xml que coloquei logo acima é do meu projeto.

Você tentou apagar o arquivo de deploy que o wildfly faz conforme lhe expliquei acima em uma resposta? Ele fica em
\wildfly-8.2.0.Final\standalone\deployments\

Dentro deste diretório tem o arquivo com o nome do seu projeto, pode apagar tudo.
Alguns problemas que eu estava tendo só se resolveu quando apaguei manualmente o arquivo de deploy.

Faz isso é testa de novo.

Não tem jeito Gracyane,

Tentei de tudo que me sugeriu, mas continuo não conseguindo fazer o deploy da aplicação. Ocorre o seguinte erro:

18:39:24,040 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation (“deploy”) failed - address: ([(“deployment” => “casadocodigo.jar”)]) - failure description: {“JBAS014771: Services with missing/unavailable dependencies” => [“jboss.persistenceunit.“casadocodigo.jar#casadocodigo-dev”.FIRST_PHASE is missing [jboss.naming.context.java.”\n\t\t\t\tjava:jboss".datasources.“casadocodigoDS\n\t\t\t”]"]}

Ele diz que há uma dependência na persistenceunit _FIRST_PHASE está faltando, fazendo referência à tag java:jboss/datasources/casadocodigoDS

Eu configurei o standalone-full.xml da maneira que o livro sugere, mas não consigo rodar o projeto e avançar na leitura do livro.

Uma pena!

Segue como está parte do arquivo standalone-full:

Persistence.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

	<persistence-unit name="casadocodigo-dev" transaction-type="JTA">
	
		<description>Dev persistence unit</description>
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<jta-data-source>java:jboss/datasources/casadocodigoDS</jta-data-source>
	
		<properties>
			<property name="hibernate.hbm2ddl.auto" value="update" />
			<property name="hibernate.show_sql" value="true" />
			<property name="hibernate.format_sql" value="true" />
			<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
		</properties>
		
	</persistence-unit>
</persistence>

Algumas sugestões:
Retire o projeto do Wildfly. Após isso dê um clean no Wildfly. Faça o mesmo procedimento de pagar os arquivo de deploy.

Você pode tentar também criar um novo server Wildfly. Apaga esse aí que você tem na IDE e cria outro.

Continue tentando até conseguir executar seu projeto e prosseguir com a leitura do livro.
Não desista.

Olá, Gracyane.

Consegui gravar o produto (livro) com a seguinte alteração no persistence.xml e no standalone-full.xml

Substituí

java:jboss/datasources/casadocodigoDS

por

java:/datasources/casadocodigoDS

Fica aí a dica se surgir alguém com problema parecido.

No mais, agradeço a sua ajuda.

João.