9
respostas

Problemas com falta de dependências

Encontro problemas para fazer a criação da tabela no workbench, a mensagem no servidor que recebo e esta abaixo. Porem acompanhei passo a passo as instruções do professor. Uso o netbeans mas acredito que não seja problema da ide.

"{\"WFLYCTL0180: Services with missing/unavailable dependencies\" => [\"jboss.persistenceunit.\\"casadocodigo-1.0.war#casadocodigo\\".FIRST_PHASE is missing [jboss.naming.context.java.jboss.datasources.casadocodigoDS]\"]}"

9 respostas

Oi Victor, tudo bom?

Você pode compartilhar com a gente seu pom.xml?

Pelo o que eu vi aqui pode ser falta ou conflito de datasource.

Opa, claro, segue abaixo.

<?xml version="1.0" encoding="UTF-8"?>
<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.victor</groupId>
    <artifactId>casadocodigo</artifactId>
    <version>1.0</version>
    <packaging>war</packaging>

    <name>casadocodigo</name>

    <properties>
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.primefaces</groupId>
            <artifactId>primefaces</artifactId>
            <version>5.0</version>
        </dependency>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <compilerArguments>
                        <endorseddirs>${endorsed.dir}</endorseddirs>
                    </compilerArguments>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${endorsed.dir}</outputDirectory>
                            <silent>true</silent>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>javax</groupId>
                                    <artifactId>javaee-endorsed-api</artifactId>
                                    <version>7.0</version>
                                    <type>jar</type>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <repositories>
        <repository>
            <url>http://repository.primefaces.org/</url>
            <id>PrimeFaces-maven-lib</id>
            <layout>default</layout>
            <name>Repository for library PrimeFaces-maven-lib</name>
        </repository>
    </repositories>
</project>

Dei uma olhada no seu pom.xml e parece que algumas dependencias do começo do curso estão faltando (ou eu deixei passar e não me liguei). Verifica se você está incluindo todas essas dependencias:

<?xml version="1.0" encoding="UTF-8"?>
<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.casadocodigo</groupId>
  <artifactId>casadocodigo</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <build>
    <finalName>casadocodigo</finalName>
    <plugins>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <failOnMissingWebXml>false</failOnMissingWebXml>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <packaging>war</packaging>
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</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.annotation</groupId>
        <artifactId>jsr250-api</artifactId>
        <version>1.0</version>
        <scope>provided</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.jboss.spec.javax.faces</groupId>
      <artifactId>jboss-jsf-api_2.1_spec</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.enterprise</groupId>
      <artifactId>cdi-api</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.annotation</groupId>
      <artifactId>jsr250-api</artifactId>
      <scope>provided</scope>
    </dependency>
  </dependencies>
</project>

Opa Andre, obrigado pelo rápido retorno.

Enfim, acabei de testar o pom que você mandou, porem no momento que eu atualizo o jpa deixa de funcionar.

No caso eu devo adicionar somente as dependencias que estiverem faltando ou altero o codigo todo ?

Opa, aqui tem a configuração da JPA =)

Esse código é o que está presente na transcrição do primeiro video. Talvez seja uma boa segui-lo mesmo. Pelo menos nesse momento de configuração de ambiente. Assim que você tiver um ambiente estavel você consegue ir adicionando suas dependencias (como o primaces) com mais segurança.

Sim na minha persistence esta exatamente igual, o problema parece estar no pom mesmo, quando eu alterei deu erro em todas as classes que utilizam as importações do jpa

Qual erro apareceu?

Em todas as classes que usam o import javax, deixaram de funcionar as importações, assim como nas dependencias do projeto sumiram as bibliotecas.

Porem a criação do projeto eu não fiz de acordo com o video, foi simplismente a criação de um projeto mavem web no netbeans

Provavelmente o JBoss inicializa o projeto com uma configuração padrão, uma possibilidade seria você dar uma olhada em qual configuração o Forge do JBoss gera e segui-la na configuração de ambiente.

Uma outra possibilidade é você tentar adicionar as dependencias no seu pom uma a uma, tentando seguir a compatibilidade de versão semelhante a do curso.

Uma outra seria instalar pelo JBoss e apenas importar o projeto no seu netbeans.