{"action":"created","issue":{"url":"https://api.github.com/repos/spring-io/platform/issues/151","labels_url":"https://api.github.com/repos/spring-io/platform/issues/151/labels{/name}","comments_url":"https://api.github.com/repos/spring-io/platform/issues/151/comments","events_url":"https://api.github.com/repos/spring-io/platform/issues/151/events","html_url":"https://github.com/spring-io/platform/issues/151","id":57702763,"number":151,"title":"Spring IO 1.1.1.RELEASE 'asks for' org/apache/commons/logging/LogFactory","user":{"login":"manueljordan","id":2552795,"avatar_url":"https://avatars.githubusercontent.com/u/2552795?v=3","gravatar_id":"","url":"https://api.github.com/users/manueljordan","html_url":"https://github.com/manueljordan","followers_url":"https://api.github.com/users/manueljordan/followers","following_url":"https://api.github.com/users/manueljordan/following{/other_user}","gists_url":"https://api.github.com/users/manueljordan/gists{/gist_id}","starred_url":"https://api.github.com/users/manueljordan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/manueljordan/subscriptions","organizations_url":"https://api.github.com/users/manueljordan/orgs","repos_url":"https://api.github.com/users/manueljordan/repos","events_url":"https://api.github.com/users/manueljordan/events{/privacy}","received_events_url":"https://api.github.com/users/manueljordan/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/spring-io/platform/labels/documentation","name":"documentation","color":"009800"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-02-14T18:58:43Z","updated_at":"2015-02-17T14:10:23Z","closed_at":null,"body":"Hello\r\n\r\nI am working with: \r\n\r\n- Maven \r\n- STS 3.6.3.SR1\r\n- JDK 8u31.\r\n\r\nI have many modules (repositories, services, infrastructure) and **not** sharing a common parent, therefore repeating the same dependencies among them, until here all works fine. Now thinking in work with a common parent, I have consider include Spring IO Platform.\r\n\r\nBTW I know how work with parent/child modules in Maven, I did it before, just in this case or situation I am working by first time with Spring IO Platform. I have the following configuration:\r\n\r\n**Parent**\r\n\r\n<code>\r\n\r\n\t<modelVersion>4.0.0</modelVersion>\r\n\t<groupId>com.manuel.jordan.parent</groupId>\r\n\t<artifactId>parent-io</artifactId>\r\n\t<version>1.0.0-SNAPSHOT</version>\r\n\t<packaging>pom</packaging>\r\n\t<name>parent-io-1.0.0</name>\r\n\r\n\t<properties>\r\n\t\t<maven.test.failure.ignore>true</maven.test.failure.ignore>\r\n\t\t<hikaricp.version>2.3.2</hikaricp.version>\r\n\t\t<jodatime.version>2.7</jodatime.version>\r\n\t\t<junit.version>4.12</junit.version>\r\n\t\t<slf4j.version>1.7.10</slf4j.version>\r\n\t</properties>\r\n\t<dependencyManagement>\r\n\t\t<dependencies>\r\n\t\t\t<!-- Spring IO platform -->\r\n\t\t\t<dependency>\r\n            \t<groupId>io.spring.platform</groupId>\r\n            \t<artifactId>platform-bom</artifactId>\r\n            \t<version>1.1.1.RELEASE</version>\r\n            \t<type>pom</type>\r\n            \t<scope>import</scope>\r\n         \t</dependency>\r\n        \t<!-- Override -->\r\n        \t<dependency>\r\n    \t\t\t<groupId>com.zaxxer</groupId>\r\n    \t\t\t<artifactId>HikariCP</artifactId>\r\n    \t\t\t<version>${hikaricp.version}</version>\r\n    \t\t</dependency>        \t\r\n\t\t\t<dependency>\r\n    \t\t\t<groupId>joda-time</groupId>\r\n    \t\t\t<artifactId>joda-time</artifactId>\r\n    \t\t\t<version>${jodatime.version}</version>\r\n\t\t\t</dependency>        \t\r\n        \t<dependency>\r\n    \t\t\t<groupId>org.slf4j</groupId>\r\n    \t\t\t<artifactId>slf4j-api</artifactId>\r\n    \t\t\t<version>${slf4j.version}</version>\r\n\t\t\t</dependency>\r\n\t\t</dependencies>\r\n\t</dependencyManagement>\r\n\t<modules>\r\n \t         …\r\n\t\t<module>../config/config-datasource-mysql-1.0.0</module>\r\n                 …\r\n\t</modules>\r\n\t<build>\r\n\t\t<plugins>\r\n\t\t\t<plugin>\r\n\t\t\t\t<groupId>org.apache.maven.plugins</groupId>\r\n\t\t\t\t<artifactId>maven-compiler-plugin</artifactId>\r\n\t\t\t\t<configuration>\r\n\t\t\t\t\t<source>1.8</source>\r\n\t\t\t\t\t<target>1.8</target>\r\n\t\t\t\t</configuration>\r\n\t\t\t</plugin>\r\n\t\t</plugins>\r\n\t</build> \r\n</project>\r\n</code>\r\n\r\n**Some Child or Module**\r\n\r\n<code>\r\n\r\n\t<modelVersion>4.0.0</modelVersion>\r\n\t<groupId>com.manuel.jordan.config</groupId>\r\n\t<artifactId>config-datasource-mysql</artifactId>\r\n\t<version>1.0.0-SNAPSHOT</version>\r\n\t<packaging>jar</packaging>\r\n\t<name>config-datasource-mysql-1.0.0</name>\r\n\t<parent>\r\n\t\t<groupId>com.manuel.jordan.parent</groupId>\r\n\t\t<artifactId>parent-io</artifactId>\r\n\t\t<version>1.0.0-SNAPSHOT</version>\r\n\t\t<relativePath>../parent/parent-io-1.0.0</relativePath>\r\n\t</parent>\t\t\r\n\t<dependencies>\r\n\t\t<dependency>\r\n\t\t\t<groupId>org.springframework</groupId>\r\n\t\t\t<artifactId>spring-context</artifactId>\r\n\t\t</dependency>\r\n\t\t<dependency>\r\n\t\t\t<groupId>org.springframework</groupId>\r\n\t\t\t<artifactId>spring-jdbc</artifactId>\r\n\t\t</dependency>\r\n\t\t<dependency>\r\n    \t\t<groupId>mysql</groupId>\r\n    \t\t<artifactId>mysql-connector-java</artifactId>\r\n\t\t</dependency>\r\n\t\t<dependency>\r\n    \t\t<groupId>com.zaxxer</groupId>\r\n    \t\t<artifactId>HikariCP</artifactId>\r\n    \t</dependency>\r\n\t</dependencies>\r\n</code>\r\n\r\nI am using the same dependencies versions used when I have worked *with* and *without* **parent/module** approach, that's why I am overriding some dependencies about their versions.\r\n\r\nWell, I can compile (prior **Maven-> Update Project** for all the modules - parent and modules), *clean* and *Build All*\r\n\r\nWhen I execute the app I always get:\r\n\r\n    13:20:32.445 [main] INFO  com.manuel.jordan.main.Main - Ready....\r\n    Exception in thread \"main\" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory\r\n\t    at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:154)\r\n        at org.springframework.context.support.GenericApplicationContext.<init>(GenericApplicationContext.java:100)\r\n\t   at org.springframework.context.annotation.AnnotationConfigApplicationContext.<init>(AnnotationConfigApplicationContext.java:60)\r\n\t    at com.manuel.jordan.main.Main.main(Main.java:18)\r\n    Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory\r\n\t    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)\r\n\t    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)\r\n\t    at java.security.AccessController.doPrivileged(Native Method)\r\n\t    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)\r\n\t    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)\r\n\t    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)\r\n\t    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)\r\n\t    ... 4 more\r\n\r\nJava source code has not been changed, only the pom.xml files to create/update parent/modules relation.\r\n\r\n**Note**: If I comment the dependencies overridden I get the same error message.\r\n\r\nSo, I don't know why that error appears.\r\n\r\nMore information:\r\n\r\n- I've closed the IDE and deleted all the maven repository (I create a dedicated repository for each STS installation, such as sts-workspace-laboratorio) reopen the IDE and all downloaded again and same error\r\n\r\n- I've installed a new STS instance with a dedicated repository and I have created a sample project named **spring-io** of the kind **Simple Spring Utility Project** with the following data:\r\n\r\n<code>\r\n\r\n\t<modelVersion>4.0.0</modelVersion>\r\n\t<groupId>com.manuel.jordan</groupId>\r\n\t<artifactId>spring-io</artifactId>\r\n\t<version>1.0.0-SNAPSHOT</version>\r\n\t<packaging>jar</packaging>\r\n\t<name>spring-io</name>\r\n\t<url></url>\r\n\t<description>\r\n\t\t<![CDATA[\r\n      This project is a minimal jar utility with Spring configuration.\r\n    ]]>\r\n\t</description>\r\n\t<properties>\r\n\t\t<maven.test.failure.ignore>true</maven.test.failure.ignore>\r\n\t\t<junit.version>4.12</junit.version>\r\n\t</properties>\t\r\n\t\r\n\t<dependencyManagement>\r\n    \t<dependencies>\r\n        \t<dependency>\r\n            \t<groupId>io.spring.platform</groupId>\r\n            \t<artifactId>platform-bom</artifactId>\r\n            \t<version>1.1.1.RELEASE</version>\r\n            \t<type>pom</type>\r\n            \t<scope>import</scope>\r\n        \t</dependency>\r\n        \t<dependency>\r\n \t        \t<groupId>junit</groupId>\r\n    \t    \t<artifactId>junit</artifactId>\r\n    \t    \t<version>${junit.version}</version>\r\n    \t</dependency>\r\n        \t\r\n    \t</dependencies>\r\n\t</dependencyManagement>\r\n\t\r\n\t<dependencies>\r\n    \t<dependency>\r\n \t       <groupId>org.springframework</groupId>\r\n    \t    <artifactId>spring-context</artifactId>\r\n    \t</dependency>\r\n    \t<dependency>\r\n \t       <groupId>org.springframework</groupId>\r\n    \t    <artifactId>spring-test</artifactId>\r\n    \t</dependency>\r\n    \t<dependency>\r\n \t        <groupId>org.springframework</groupId>\r\n    \t    <artifactId>spring-orm</artifactId>\r\n    \t</dependency>\r\n    \t<dependency>\r\n \t        <groupId>junit</groupId>\r\n    \t    <artifactId>junit</artifactId>\r\n    \t</dependency>\r\n\t</dependencies>\r\n\t\r\n\t<build>\r\n\t\t<plugins>\r\n\t\t\t<plugin>\r\n\t\t\t\t<groupId>org.apache.maven.plugins</groupId>\r\n\t\t\t\t<artifactId>maven-compiler-plugin</artifactId>\r\n\t\t\t\t<configuration>\r\n\t\t\t\t\t<source>1.8</source>\r\n\t\t\t\t\t<target>1.8</target>\r\n\t\t\t\t</configuration>\r\n\t\t\t</plugin>\r\n \t\t</plugins>\r\n\t</build> \r\n\r\n</code>\r\n\r\nJust when I execute the Testing, for the **ExampleConfigurationTests** class it fails and throws:\r\n\r\n```\r\njava.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory\r\n\tat org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<clinit>(SpringJUnit4ClassRunner.java:86)\r\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\r\n\tat sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\r\n\tat java.lang.reflect.Constructor.newInstance(Constructor.java:408)\r\n\tat org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)\r\n\tat org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)\r\n\tat org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)\r\n\tat org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)\r\n\tat org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)\r\n\tat org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)\r\n\tat org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:33)\r\n\tat org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:25)\r\n\tat org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:48)\r\n\tat org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38)\r\n\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)\r\n\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)\r\n\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)\r\n\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)\r\nCaused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory\r\n\tat java.net.URLClassLoader$1.run(URLClassLoader.java:372)\r\n\tat java.net.URLClassLoader$1.run(URLClassLoader.java:361)\r\n\tat java.security.AccessController.doPrivileged(Native Method)\r\n\tat java.net.URLClassLoader.findClass(URLClassLoader.java:360)\r\n\tat java.lang.ClassLoader.loadClass(ClassLoader.java:424)\r\n\tat sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)\r\n\tat java.lang.ClassLoader.loadClass(ClassLoader.java:357)\r\n\t... 19 more\r\n```"},"comment":{"url":"https://api.github.com/repos/spring-io/platform/issues/comments/74672644","html_url":"https://github.com/spring-io/platform/issues/151#issuecomment-74672644","issue_url":"https://api.github.com/repos/spring-io/platform/issues/151","id":74672644,"user":{"login":"wilkinsona","id":914682,"avatar_url":"https://avatars.githubusercontent.com/u/914682?v=3","gravatar_id":"","url":"https://api.github.com/users/wilkinsona","html_url":"https://github.com/wilkinsona","followers_url":"https://api.github.com/users/wilkinsona/followers","following_url":"https://api.github.com/users/wilkinsona/following{/other_user}","gists_url":"https://api.github.com/users/wilkinsona/gists{/gist_id}","starred_url":"https://api.github.com/users/wilkinsona/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wilkinsona/subscriptions","organizations_url":"https://api.github.com/users/wilkinsona/orgs","repos_url":"https://api.github.com/users/wilkinsona/repos","events_url":"https://api.github.com/users/wilkinsona/events{/privacy}","received_events_url":"https://api.github.com/users/wilkinsona/received_events","type":"User","site_admin":false},"created_at":"2015-02-17T14:10:23Z","updated_at":"2015-02-17T14:10:23Z","body":"That's a fair point about including something in the reference documentation."}}