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:
<!-- 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.
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.
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
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?
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:
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.
.\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?
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:
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?
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.