[ 
https://issues.apache.org/jira/browse/CONFIGURATION-685?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16301688#comment-16301688
 ] 

Oliver Heger commented on CONFIGURATION-685:
--------------------------------------------

Commons Configuration has a lot of dependencies, but most are optional and are 
only needed for specific configuration implementations. Therefore, they are not 
pulled in automatically, but a client application has to declare them 
explicitly. As Bruno mentioned, we have documented the dependencies and when 
they are required on the dependencies page.

So, can this ticket be closed?

> Implicit external dependency on DynaBean while loading a config
> ---------------------------------------------------------------
>
>                 Key: CONFIGURATION-685
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-685
>             Project: Commons Configuration
>          Issue Type: Bug
>            Reporter: Fabien Renaud
>
> 100% repro.
> Getting an exception: DynaBean not found when trying to load an apache config 
> file.
> Exception:
> {code}
> Exception in thread "main" java.lang.NoClassDefFoundError: 
> org/apache/commons/beanutils/DynaBean
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Class.java:264)
>         at com.sun.proxy.$Proxy0.<clinit>(Unknown Source)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
> Method)
>         at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>         at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>         at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:739)
>         at 
> org.apache.commons.configuration2.builder.fluent.Parameters.createParametersProxy(Parameters.java:307)
>         at 
> org.apache.commons.configuration2.builder.fluent.Parameters.fileBased(Parameters.java:186)
>         at com.example.App.main(App.java:13)
> Caused by: java.lang.ClassNotFoundException: 
> org.apache.commons.beanutils.DynaBean
>         at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>         ... 11 more
> {code}
> when running:
> {code}
> package com.example;
> import org.apache.commons.configuration2.YAMLConfiguration;
> import 
> org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder;
> import org.apache.commons.configuration2.builder.fluent.Parameters;
> import org.apache.commons.configuration2.ex.ConfigurationException;
> class App {
>   public static void main(String[] args) throws ConfigurationException {
>     Parameters params = new Parameters();
>     FileBasedConfigurationBuilder<YAMLConfiguration> builder1 = new 
> FileBasedConfigurationBuilder<>(YAMLConfiguration.class)
>       .configure(params.fileBased().setFileName("file.yml"));
>     YAMLConfiguration conf = builder1.getConfiguration();
>   }
> }
> {code}
> with build.gradle:
> {code}
> apply plugin: 'java'
> apply plugin: 'application'
> mainClassName = "com.example.App"
> repositories {
>     jcenter()
> }
> dependencies {
>   compile group: 'org.apache.commons', name: 'commons-configuration2', 
> version: '2.2'
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to