[Resolvido] - JBoss 7.1 Application Server x Maven - Problemas com proxy

Pessoal, estou tentando aprender a trabalhar com JBoss. Baixei ontem a versão JBoss AS 7.1, incorporei o plugin do JBoss Tools no Eclipse Indigo pelo Market Place.
Instalei o Maven 3.0.4 e testei pelo prompt Até então tudo certo…

O problema começa a acontecer quando tento utilizar um dos JBossQuickstarts, por exemplo o HelloWorld (fig1 anexa). No final do Wizard de criação do projeto o Maven começa a apresentar uma série de erros de dependências.

O primeiro erro é esse:

Project build error: Non-resolvable import POM: Failure to transfer org.jboss.spec:jboss-javaee-6.0:pom:3.0.0.Beta1 from http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.jboss.spec:jboss-javaee-6.0:pom:3.0.0.Beta1 from/to central (http://repo1.maven.org/maven2): Access denied to http://repo1.maven.org/maven2/org/jboss/spec/jboss-javaee-6.0/3.0.0.Beta1/jboss-javaee-6.0-3.0.0.Beta1.pom. Error code 407, Proxy Authentication Required

Todas as dependências no arquivo pom.xml abaixo estão com erro:

[code]




org.jboss.spec
jboss-javaee-6.0
3.0.0.Beta1
pom
import


  <!-- Import the CDI API, we use provided scope as the API is included 
     in JBoss AS 7 -->
  <dependency>
     <groupId>javax.enterprise</groupId>
     <artifactId>cdi-api</artifactId>
     <scope>provided</scope>
  </dependency>

  <!-- Import the Common Annotations API (JSR-250), we use provided scope 
     as the API is included in JBoss AS 7 -->
  <dependency>
     <groupId>org.jboss.spec.javax.annotation</groupId>
     <artifactId>jboss-annotations-api_1.1_spec</artifactId>
     <scope>provided</scope>
  </dependency>

  <!-- Import the Servlet API, we use provided scope as the API is included 
     in JBoss AS 7 -->
  <dependency>
     <groupId>org.jboss.spec.javax.servlet</groupId>
     <artifactId>jboss-servlet-api_3.0_spec</artifactId>
     <scope>provided</scope>
  </dependency>

[/code]

Eu adicionei dados do meu proxy nos dois arquivos settings.xml do Maven, mas agora não sei como fazer para o Maven tentar baixar de novo as dependências.

Alguém sabe como resolvo isso?


não sei se isso vai te ajudar, mas no eclipse, clique com o direito no seu projeto e vá em Maven - Update Dependencies…

Acho que deva ser necessário você configurar seu proxy no eclipse, vai no menu window - preferences, na janela que abre vai em general - network connections, la você coloca as configurações do seu proxy.

Obrigado pela sua resposta!

No Eclipse eu já tinha configurado o proxy no eclipse, já testei e está ok. Consegui baixar o JBoss Tools pelo Eclipse mesmo.

Vou testar o que você falou sobre o Maven - Update Dependencies… e depois posto aqui o resultado.

Ola amigo,

Esse erro de build esta ocorrendo quando vc realiza a construção (maven) via eclipse ou via console? Recomendo que utilize o console. Quando você instala o plugin do m2e ele instala um
maven junto ao eclipse e isso faz com que muitas vezes ele não utilize as configurações do seu ambiente real. Va nas configurações do seu eclipse e certifique-se que ele esta usando o maven
instalado por VOCÊ. Tambem verifique se o repositório do jboss esta adicionado ao seu POM corretamente. Pois não basta somente a dependência, você necessita apontar para o repositório oficial de preferencia.
PS: Troque o scope de dependência para PROVIDED ao invez de IMPORT

Repositorio Jboss Maven : https://community.jboss.org/wiki/MavenGettingStarted-Users

1 curtida

Fala brother, tectuba! Valeu pela dica do Maven! Eu alterei aqui no Eclipse conforme você falou para que ele use o MEU Maven ao invés do embedded em Window -> Preferences -> Maven -> Instalations. (Espero ser esse o caminho mesmo)

Desculpe, mas sei muito pouco sobre o Maven, por isso perdoe a ignorância, mas onde configuro este repositório oficial de preferencia no Eclipse? Onde troco o scope de dependência para PROVIDED ao invéz de IMPORT no Eclipse?

Opa,

Não esquenta cara, eu tambem sofri muito com o Maven no começo.
Pense que agora você sempre ira configurar o Maven atravez do POM.xml e não mais pelo eclipse. Quando você declara uma dependencia como foi feito em:

[quote]
javax.enterprise
cdi-api
provided
[/quote]

Você tem uma TAG de scope, sempre utilize provided quando a dependencia será provida pelo container (servidor), compile quando foi empacotada junto ao projeto e test quando foi utilizada somente para teste.
Segue material para leitura:
http://docs.codehaus.org/display/MAVENUSER/Dependency+Scopes

O repositorio oficial não precisa ser declarado no POM.xml, pois o mesmo supõe que ele existe. Navegue pelo terminal até a pasta do seu projeto (a qual possui o arquivo POM.xml) e apos isso
use o comando mvn clean install e coloque aqui o resultado.
PS: Não utilize o eclipse nesse momento.

1 curtida

Fala tectuba!

Obrigado, pelo link. Informação bastante útil.

Aqui vai a saída do comando mvn clean install

.\JBossProjects\helloworld\jboss-as-helloworld>mvn clean install [INFO] Scanning for projects... Downloading: http://repo.maven.apache.org/maven2/org/jboss/spec/jboss-javaee-6.0/3.0.0.Beta1/jboss-javaee-6.0-3.0.0.Beta1.pom [ERROR] The build could not read 1 project -> [Help 1] [ERROR] [ERROR] The project org.jboss.as.quickstarts:jboss-as-helloworld:7.1.1-SNAPSHOT (.\JBossProjects\helloworld\jboss-as-helloworld\pom.xml) has 4 errors [ERROR] Non-resolvable import POM: Could not transfer artifact org.jboss.spec:jboss-javaee-6.0:pom:3.0.0.Beta1 from/to central (http://repo.maven.apache.org/maven2): Not authorized by proxy, ReasonPhrase:Proxy Authentication Required. @ line 39, column 22 -> [Help 2] [ERROR] 'dependencies.dependency.version' for javax.enterprise:cdi-api:jar is missing. @ line 53, column 19 [ERROR] 'dependencies.dependency.version' for org.jboss.spec.javax.annotation:jboss-annotations-api_1.1_spec:jar is missing. @ line 61, column 19 [ERROR] 'dependencies.dependency.version' for org.jboss.spec.javax.servlet:jboss-servlet-api_3.0_spec:jar is missing. @ line 69, column 19 [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException [ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException
O que você acha?

Ola amigo,

Então, é um problema de proxy sim. O local que você esta tentando acessar deve utilizar um proxy:

[ERROR] Non-resolvable import POM: Could not transfer artifact org.jboss.spec:jboss-javaee-6.0:pom:3.0.0.Beta1 from/to central (http://repo.maven.apache.org/maven2): Not authorized by proxy, ReasonPhrase:Proxy Authentication Required. @ line 39, column 22 -> [Help 2]

Verifique sua rede e as configurações de proxy, apos isso siga essas instruções:

http://maven.apache.org/guides/mini/guide-proxies.html

Att

Configurei conforme http://maven.apache.org/guides/mini/guide-proxies.html. Meu arquivo ficou assim:

[code]<?xml version="1.0" encoding="UTF-8" standalone="no"?>

true http nome_do_host 8080 usuario senha [/code] Mesmo assim deu o mesmo erro que mostrei acima. Sabe dizer o que faltou eu fazer?

Ola amigo,

Cara andei dando uma olhada em alguns materias e provavelmente é alguma configuração incorreta no settings do proxy.
Você tem certeza que as informações setadas sobre o proxy estão corretas?
Você esta utilizando o mvn install para rodar o build?

Mais materias sobre proxy
http://www.mkyong.com/maven/how-to-enable-proxy-setting-in-maven/

Fala, amigo!

Consegui resolver! O problema é que minha configuração estava usando o proxy errado aqui da empresa onde trabalho. Agora, tá funcionando redondo! Tanto pela linha de comando, como pela IDE do Eclipse.

Muito obrigado pelo seu retorno!

Abraço

Blz abraço e boa sorte.