J'essaie d'obtenir un haricot de printemps dans une application Web en l'utilisant:
WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext());
AClass aClass = (aClass) wac.getBean("aClass");
Et, lorsque je lance compile/test/package avec maven, une erreur se produit:
cannot access org.springframework.core.env.EnvironmentCapable
[ERROR] class file for org.springframework.core.env.EnvironmentCapable not found
Le plus étrange est que org.springframework.core.env.EnvironmentCapable existe! : /
Configuration de base du projet:
Toute idée est la bienvenue!
Enfin, je l'ai résolu! :)
Dans le fichier pom.xml, je devais définir l'étendue des dépendances de Spring à compiler. (Oui, je sais que c'est l'étendue par défaut des dépendances, mais pour une raison quelconque, Maven n'était pas capable du travail). Voir un morceau de mon fichier pom.xml qui a fait disparaître le problème:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${spring.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
<scope>compile</scope>
</dependency>
Notez que:
J'espère que cela aide plus de gens.
Je faisais face au même problème, maven se plaint de org.springframework.core.env.EnvironmentCapable
, même avec le fichier là-bas, à l'intérieur du bocal: C:\Users\fabio\.m2\repository\org\springframework\spring-core\4.3.12.RELEASE\spring-core-4.3.12.RELEASE.jar
.
La solution dans mon cas était de supprimer le dossier .m2
. Maven a donc téléchargé à nouveau tous les pots. Peut-être était-ce un fichier abrégé.
J'espère que ça aide quelqu'un!
Moi aussi faire face à ce problème. J'ai utilisé Spring 4.1.6 avec maven 3 avec RabbitMQ.
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-amqp</artifactId>
<version>1.1.4.RELEASE</version>
</dependency>
Cette dépendance a forcé Tomcat à mourir et à montrer ces problèmes. Je n'ai pas compris pourquoi cela crée des problèmes. mais finalement, j’inclus explicitement jar dans le dossier lib et c’est ainsi que j’ai résolu ce problème.
Ajoutez cette dépendance au fichier pom.xml. Vous pouvez le corriger.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>1.4.2.RELEASE</version>
</dependency>