Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Sobre a versão do Projeto

Bom dia a todos! Vamos lá, estava com essa dúvida desde o início do curso e havia me esquecido de perguntar aqui, é algo que me confundiu muito! Ao usar o JBoss Forge para fazer a configuração do projeto deu uns erros no meu projeto, os quais não me recordo muito bem, lembro de estar escrito algo como: Dynamic Web Module, enfim, não lembro. Eu me livrei desse problema com as seguintes tags adicionadas ao pom.xml:

<build>
    <finalName>casadocodigo</finalName>
    <plugins>
           <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                 <source>1.6</source>
                 <target>1.8</target>
            </configuration>
           </plugin>
      </plugins>
  </build>

Não me lembro se a tag build fazia parte ou não, não lembro, mas fiz isso intuitivamente (na tentativa e erro) e esqueci de perguntar sobre isso aqui. Não soube como pesquisar corretamente no Google também, enfim minha dúvida é: O que significam essas tags de plugins, configuration, source e target ? Vi que a tag source significa a versão do Java que utilizarei no projeto, mas não entendi muito bem como isso é configurado, quando coloco 1.8 nessa tag e dou F5 em meu projeto ele dá erro. Gostaria de saber também o que significa cada versão que tem na aba "Execution environment" na aba de JRE System Library, pois tem várias versões como: CDC - 1.0 à 1.1, J2SE - 1.2 à 1.5, JRE 1.1, JavaSE 1.6 à 1.7, OSGi 1.0 à 1.2. Não sei o que essas versões significam, e meu projeto usa por padrão a J2SE - 1.4. São essas duas dúvidas!

Muito obrigado pela atenção!

4 respostas

Os plugins são comportamentos adicionais que você pode adicionar ao processo de build do maven. Nesse caso você está dizendo que o código fonte sendo compilado(source) é da versão 1.6 e o que bytecode gerado deve ser compatível com a versão 1.8.

Nossa, deixa eu ver se entendi, no caso do meu projeto em questão, ele iria rodar funções que fossem até a versão 6 do java? Tipo, um lambda não funcionaria? Mas, para rodar, ele iria rodar em uma jvm do Java 8? Isso? Ahh, e qndo mudo para a versão 1.8 no Source, da erro no meu projeto! Isso tem a ver com a configuração que citei sobre JRE system library?

solução!

Opa Tiago, exatamente. Para funcionar o Java 8 no seu projeto, pensando no código fonte, você precisa ter um java 8 instalado e configurado como library do seu projeto.

Ok Alberto. Muito obrigado mesmo pela ajuda!