Я работаю над проектом для школы, и мне нужна была библиотека Джексона для разбора файлов json. Я включил библиотеку в свой скрипт Gradle следующим образом:
...
dependencies {
compile 'org.codehaus.jackson:jackson-core-asl:1.9.0'
compile 'org.codehaus.jackson:jackson-mapper-asl:1.9.0'
compile 'org.hibernate:hibernate-validator:4.2.0.Final'
testCompile 'junit:junit:4.9'
}
...
Я также добавил папку с классами в classpath.
сборка с gradle в порядке, она на самом деле загружает библиотеки и все, но когда я запускаю свою программу (из строки cmd с> java name.of.package.Main) она говорит:
> Exception in thread "main" java.lang.NoClassDefFoundError:
> org/codehaus/jackson/map/JsonMappingException
> at java.lang.Class.getDeclaredMethods0(Native Method)
> at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
> at java.lang.Class.getMethod0(Unknown Source)
> at java.lang.Class.getMethod(Unknown Source)
> at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
> at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) Caused by: java.lang.ClassNotFoundException:
> org.codehaus.jackson.map.JsonMappingException
> at java.net.URLClassLoader$1.run(Unknown Source)
> at java.net.URLClassLoader$1.run(Unknown Source)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> ... 6 more
но я заметил, что когда я добавляю те же две библиотеки из файла gradle в classpath, все в порядке ..
Может кто-нибудь сказать мне, если я должен вручную добавить библиотеки в путь к классам? какая польза от gradle тогда в этом случае ..
Большое спасибо!