SLF4J Binding Error - maven

Im am new to maven and the last two days i try to integrate maven into a small web project.
(I use Eclipse Juno as IDE).
First I generated a new project (structure) with the "mvn-archetype-webapp" command and copied the sources from the project into this structure.
Then I added all dependencies to the pom.xml so that I could compile and start the project with the tomcat7 plugin.
So far everything works fine except the SLF4J Error Messages at the start of every maven command:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J:
See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
My pom.xml dependencies looks like this:
<!-- properties -->
<properties>
<spring.version>3.1.1.RELEASE</spring.version>
</properties>
<!-- dependencies -->
<dependencies>
<!-- logging -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.6.6</version>
<scope>runtime</scope>
</dependency>
<!-- junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- Spring 3 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- jee -->
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
<!-- tiles -->
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-core</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-api</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>2.2.2</version>
</dependency>
<!-- jstl -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
Can somebody help me with this issue?

Eclipse Juno and Indigo, when using the bundled maven version(m2e), are not suppressing the message SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". This behaviour is present from the m2e version 1.1.0.20120530-0009 and onwards.
Although, this is indicated as an error your logs will be saved normally. The highlighted error will still be present until there is a fix of this bug. More about this in the m2e support site.
The current available solution is to use an external maven version rather than the bundled version of Eclipse. You can find about this solution and more details regarding this bug in the question below which is the exact same problem you are facing.
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". error

This error comes from eclipse running maven, not from your project, so it should not affect your build process or the resulting files.
I assume this is a problem relating to maven using not slf4j or another logging tool, but eclipse or a maven plugin tries to.
The easiest way to get rid of the error is use an external maven instead of the runtime in eclipse you can configure this in Preferences -> Maven -> Installations.

I'm experiencing the same issue: I've copied my POM to an empty project, and have whittled it down to nearly nothing (see below) -- and am still seeing the error. I can validate that it doesn't go away by adding SLF4J bindings (logback, etc) to the POM -- the message is apparently coming from Maven itself, not the project software being compiled and tests. (I'm now getting it from a completely empty project.)
The best thing I can figure out is that I think it has something to do with Eclipse: when I run Maven manually, from the command line, the error does not appear -- only when invoking under Eclipse. (I'm using Eclipse Helios Release 2 on MacOSX, just FYI, so we know the problem isn't limited to your version, Juno.)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>testing</groupId>
<artifactId>testing</artifactId>
<version>0.0.1-SNAPSHOT</version>
</project>
FYI, in response to Ceki's suggestion, here's the results of maven's dependency tree goal:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building testing 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) # testing ---
[INFO] testing:testing:jar:0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.496s
[INFO] Finished at: Thu Oct 04 10:05:41 MDT 2012
[INFO] Final Memory: 9M/81M
[INFO] ------------------------------------------------------------------------
Not too informative, but there it is.

The dependency declarations look good. Logback and slf4j will be shipping in your web-app. However, I suspect that slf4j-api.jar is somehow included in Tomcat (but not logback).
BTW, the The mvn dependency:tree command is your friend. What does it say?

Try adding the dependency for logback-core.
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.0.6</version>
<scope>runtime</scope>
</dependency>

"with the tomcat7 plugin"
The tomcat7 plugin has the SLF4J dependency. I had the same problem until I assigned the dependency directly to the tomcat7 plugin.
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.5</version>
</dependency>
</dependencies>
<configuration>
<!-- ...snip... -->
</configuration>
</plugin>
</plugins>
</pluginManagement>

You can add this to your pom properties.
<org.slf4j-version>1.7.5</org.slf4j-version>

Related

Dependency convergence error caused by maven-enforcer-plugin

The following is the error I see, what confused me is that why it would depends on 2 versions of my-engine dependency. One is 0.9.0-20180510.015454-2 and another is 0.9.0-SNAPSHOT.
Heres's the command I use:
mvn clean install -DskipTests
In the pom.xml, I specify the version as ${project.version} which here should be 0.9.0-SNAPSHOT. Could you anyone help me ? Thanks
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (enforce) # zeppelin-server ---
[WARNING]
Dependency convergence error for org.apache.hadoop:hadoop-client:2.7.3 paths to dependency are:
+-myproject:my-server:0.9.0-SNAPSHOT
+-myproject:my-engine:0.9.0-20180510.015454-2
+-org.apache.hadoop:hadoop-client:2.7.3
and
+-myproject:my-server:0.9.0-SNAPSHOT
+-myproject:my-engine:0.9.0-SNAPSHOT
+-org.apache.hadoop:hadoop-client:2.7.5
Here's the dependency in pom.xml
<dependency>
<groupId>myproject</groupId>
<artifactId>my-zengine</artifactId>
<version>${project.version}</version>
<classifier>tests</classifier>
<scope>test</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>my-zengine</artifactId>
<version>${project.version}</version>
</dependency>
You could fix this in one of two ways, either choose to ignore it
mvn clean install -Denforcer.fail=false
or add both wildcard exclusion and exclusion for every dependency that caused the enforcer in the first place as follows.
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-tools-api</artifactId>
<version>2.5.1</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
</exclusion>
</exclusions>

Maven Dependency version resolution issue

I'm hitting a problem that confusing me and confounding my understanding of Maven.
I'm using a multi-module project with the structure
root
|_ db/pom.xml
|_ server/pom.xml
The server pom.xml references the db pom.xml. In db/pom.xml I've defined
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>3.2.0</version>
</dependency>
with the expectation that it'll be inherited by the server. But I'm seeing the server tests complain about a missing method. Sure enough when I use
mvn dependency:tree -Dverbose -Dincludes=com.zaxxer:HikariCP compile
I notice the following.
[INFO] server:war:2.0-SNAPSHOT
[INFO] \- db:jar:2.0-SNAPSHOT:compile
[INFO] \- com.zaxxer:HikariCP:jar:2.5.1:compile (version managed from 3.2.0)
So 2.5.1 is being used for the tests instead of 3.2.0. That explains the complaint about the missing method.
But I'm having trouble identifying where that dependency is coming from? My best guess is that it's coming from starter type of pom.xml that defines it in the test scope.
Any suggestions on how I can identify where this version is defined? I've googled but have not come across a solution.
Working past this issue I decided to also define the following in db
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>3.2.0</version>
<scope>test</scope>
</dependency>
Meaning I've two definitions of HikariCP in the db pom.xml. Now when I run dependency:tree there are no references to 2.5.1. But... if I try
mvn verify
I get an error in the db
DBConfig.java:[17,25] package com.zaxxer.hikari does not exist
What's going on here?
My expectations are:
The compile scope defined in db should override/win the test scope defined elsewhere (though I can see why that might not be desired)
Defining a compile and test version of HikariCP should not result in a package cannot be found error
---- Updated with requested info ----
db/pom.xml
<modelVersion>4.0.0</modelVersion>
<artifactId>db</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>my.group</groupId>
<artifactId>root</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>3.2.0</version>
</dependency>
</dependencies>
server/pom.xml
<modelVersion>4.0.0</modelVersion>
<artifactId>server</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<parent>
<groupId>my.group</groupId>
<artifactId>root</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-contract-stub-runner</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.jayway.restassured</groupId>
<artifactId>rest-assured</artifactId>
<version>2.9.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>my.group</groupId>
<artifactId>db</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
The root pom.xml defines no dependencies. But it's parent defines common versions for TPLs, etc that'd be too verbose to list here.
I've also found where hikaricp version 2.5.1 is defined. It's in spring-boot-dependencies. That's likely being introduced by the server's spring-boot-starter-tomcat. But it could also come in through the db's spring-boot-starter-jdbc.
I'll also note that there is no problem if I also define the HikariCP dependency in the server pom.xml.

Eclipse plugin- Maven transitive dependency issue

I am facing issue with velocity jar issue. As one of the eclipse plugin dependent on CXF bundle.
jar dependency defined in pom.xml as below,
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-bundle</artifactId>
<version>2.7.5</version>
</dependency>
another eclipse plugin dependent on custom bundle jar which has
jar dependency defined in pom.xml as below,
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
On runtime I am geting issue as,
Could not find Velocity template file: org/apache/cxf/tools/wsdlto/frontend/jaxws/template/build.vm
To identify the issue I run the command,
mvn dependency:tree -Dverbose
This shows maven omitting velocity jar from cxf as it loads another velocity in classpath.
How to resolve this jar dependency ?
use the <exclusions> tag for the dependency you not want:
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-bundle</artifactId>
<version>2.7.5</version>
<exclusions>
<exclusion>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<exclusion>
<exclusions>
</dependency>

Maven: CXF exclude Spring

I have CXF 3.0.4, but I'm getting some warnings in my build that it's looking for Spring 3.2.6.RELEASE jars. We're currently using Spring 4.0.5.
The build is working fine, but I'm just trying to get rid of the warning messages.
<artifactId>cxf-codegen-plugin</artifactId>
<groupId>${org.apache.cxf.groupId}</groupId>
<version>${cxf.version}</version>
<configuration>
<excludes>
<exclude>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.2.6.RELEASE</version>
</exclude>
<exclude>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.2.6.RELEASE</version>
</exclude>
<exclude>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.2.6.RELEASE</version>
</exclude>
<exclude>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>3.2.6.RELEASE</version>
</exclude>
<exclude>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>3.2.6.RELEASE</version>
</exclude>
</excludes>
</configuration>
That's what I've specified in the pom, but I'm seeing this as an error
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to configure plugin parameters for: org.apache.cxf:cxf-codegen-plugin:3.0.4
Cause: When configuring a basic element the configuration cannot contain any child elements. Configuration element 'exclude'.
[INFO] ------------------------------------------------------------------------
[DEBUG] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Error configuring: org.apache.cxf:cxf-codegen-plugin. Reason: Unable to parse the created DOM for plugin configuration
What am I doing wrong here? The file structure of the jar has the plugin.xml in the META-INF/maven directory, and the dependencies are listed there clearly. I tried excluding at a dependency, rather than plugin level, and I got the following warnings.
[INFO] --- cxf-codegen-plugin:3.0.4:wsdl2java (generate-sources) # generated ---
[WARNING] The POM for org.springframework:spring-core:jar:3.2.6.RELEASE is missing, no dependency information available
[WARNING] The POM for org.springframework:spring-aop:jar:3.2.6.RELEASE is missing, no dependency information available
[WARNING] The POM for org.springframework:spring-beans:jar:3.2.6.RELEASE is missing, no dependency information available
[WARNING] The POM for junit:junit:jar:4.12 is missing, no dependency information available
[WARNING] The POM for com.sun.xml.bind:jaxb-xjc:jar:2.2.11 is missing, no dependency information available
As you can see in cxf-codgen-plugin POM:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<optional>true</optional>
</dependency>
all Spring dependencies are optional. Maven should not load Spring dependencies in your Maven project, see Optional Dependencies and Dependency Exclusions:
If a user wants to use functionality related to an optional dependency, they will have to redeclare that optional dependency in their own project.

Build Path issues jta-1.0.1B.jar cannot be read or it is not a valid ZIP

I have the following error that causes an exclamation red point on the project and is shown in Problems/Markers View.
'....m2/repository/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar' ... cannot be read or is not a valid ZIP file
I have checked in the repository and the jta-1.0.1B.jar is there, I don't get why it cannot be read. I had a different issue on this jar file earlier along with other dependencies like stax-1.0.jar and others and searching for similar issues i saw that there were being caused by the names which had added .lastUpdated at the end of each file. I manually renamed them by only removing the .lastUpdated. After that the build in logs shows success but I still see an error in Markers view and an exclamation red point on the project caused by the listed problem.
i tried this solution:
Check out the Java.net maven 2 repo.
http://download.java.net/maven/2/javax/transaction/jta/1.0.1B/
Download the .jar, .jar.md5, and .jar.sha1 into you [.m2/javax/transaction/jta/1.0.1B/]
use:
mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar -Dfile=jta-1.0.1B.jar
But i still have the same issue. How do I proceed?
Note: Here is what I get in console by running Maven clean [Why does it build successfully and the issue remains?
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for prep.mucyo.com:subscription:war:0.0.1-SNAPSHOT
[WARNING] 'dependencies.dependency.systemPath' for com.oracle:ojdbc14:jar should use a variable instead of a hard-coded path C:/Eclipse_Juno/workspace/subscription/lib/ojdbc14.jar # line 84, column 17
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building subscription maven webapp 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) # subscription ---
[INFO] Deleting C:\Eclipse_Juno\workspace\subscription\target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.645s
[INFO] Finished at: Thu Aug 15 15:45:22 EDT 2013
[INFO] Final Memory: 3M/60M
[INFO] ------------------------------------------------------------------------
This is part of pom.xml
<repositories>
<repository>
<id>JBoss repository</id>
<url>http://repository.jboss.com/maven2/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.3.15.1</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.15.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.6.SEC03</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.7.ga</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>20040902.021138</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>20040616</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>antlr</groupId>
<artifactId>antlr</artifactId>
<version>20030911</version>
</dependency>
<dependency>
<groupId>net.sf.stax</groupId>
<artifactId>stax</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>14</version>
<scope>system</scope>
<systemPath>C:/Eclipse_Juno/workspace/subscription/lib/ojdbc14.jar</systemPath>
</dependency>
</dependencies>
<build>
<finalName>subscription</finalName>
</build>
Seems like your downloaded JAR is corrupted. Try to delete everything inside the "m2/repository/javax/transaction/jta/1.0.1B" and repeat the process.
I checked the central repository and there isn't any JARs with this id: http://search.maven.org/#artifactdetails%7Cjavax.transaction%7Cjta%7C1.0.1B%7Cjar
You could also change the "version" tag to "1.1", if your situation permits such a change, of course.
The Maven build is succesfully completing probably because the JTA classes aren't needed in compile time, nor by any test units (if any).
To resolve the issue I had to delete the repository folder and build again. And I then I encountered the question I had earlier similar to Finding missing Maven artifacts
And I found that the missing files issues i had first were caused by this dependency
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>20040902.021138</version>
</dependency>
Trying to solve that question similar to the one with missing files I had just to use a different version of dom4j with
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
and everything else worked well.

Resources