Estoy usando MyEclipse para desarrollar un proyecto Java Struts realmente simple. Todo funcionaba bien hasta que quise usar la clase StringUtils
en org.apache.commons.lang. En MyEclipse Importé el paquete comoError del paquete Maven: org.apache.commons-lang no existe (Java)
import org.apache.commons.lang.StringUtils;
he añadido el archivo JAR para commons-lang-2.4 a mi trayectoria de la estructura. Todo esto funciona bien y dandy y obtengo el Intellisense y no hay errores en Eclipse ni nada. Ahora, cuando voy a hacer un mvn clean package
, me sale un error que dice que
The package org.apache.commons.lang does not exist
yo nos registramos en mi archivo de la guerra/pom.xml y tengo que declara como dependencia
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.4</version>
</dependency>
</dependencies>
Según mi investigación, calculé que Maven debería descargar el paquete e instalarlo en mi repositorio local si no existe. Revisé el repositorio y el archivo jar estaba allí. Pensé que el archivo jar debía estar dañado, así que eliminé la carpeta commons-lang para obtener una nueva descarga de commons-lang. Ahora aquí es donde me sorprende, después de eliminarlo del repositorio local y ejecutar un mvn clean package
, se apaga y se descarga commons-lang-2.1 .pom y jar (aunque el pom.xml tiene 2.4) PERO todavía da un error de compilación diciendo que el paquete org.apache.commons.lang no existe.
No he estado usando Maven durante mucho tiempo, así que no estoy seguro de cómo solucionarlo. ¿Me estoy perdiendo de algo? ¿Debo agregar la dependencia en otro archivo pom.xml en otro lugar?
Primero, eliminé commons-lang en el repositorio, y funcionó. – vanduc1102
No estoy seguro de si hubo corrupción de archivos o qué, pero después de confirmar las dependencias a través del método de @TomaszNurkiewicz pude resolver este problema al eliminar el jar de mi repositorio de m2 local cuando ejecuté las pruebas. – eebbesen