1
私はJavaプロジェクトとgradleを初めて使いました。 GoogleのGSONを使用してJSON文字列を解析しようとしています。ClassNotFoundException:gradleでビルドし、com.google.code.gsonを使用しようとしたとき
私は/
メイン/私のプロジェクト名/ビルド/クラスに移動すると、私はここで
$ java GetGroupMeMessages
を実行したときに、私はClassNotFoundExceptionが取得するには、スタックトレースである(それはそれは、右と呼ばれるものです?):
apply plugin: 'java'
apply plugin: 'eclipse'
sourceCompatibility = 1.8
version = '1.0'
jar {
manifest {
attributes 'Implementation-Title': 'gscc-groupme-logs',
'Implementation-Version': version
}
}
repositories {
mavenCentral()
}
dependencies {
compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.6'
compile group: 'commons-collections', name: 'commons-collections', version: '3.2.2'
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.0'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
test {
systemProperties 'property': 'value'
}
uploadArchives {
repositories {
flatDir {
dirs 'repos'
}
}
}
:
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/gson/Gson
at GetGroupMeMessages.main(GetGroupMeMessages.java:59)
Caused by: java.lang.ClassNotFoundException: com.google.gson.Gson
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
私のbuild.gradleファイルは次のようになります
私はコマンドラインからすべてをやっています。 私のファイルはmy-project-name/src/main/java/
の下に保存されています何か助けがありがとう!ハマった。
コンソールからjavaを起動するときに/ classpathを設定しましたか?おかげさまで – iMysak
うん私はもう一度やり直しました。私はbuild/libsとbuild/classes/mainディレクトリを含むクラスパスを使用しました。私はここで同様の質問を見ました(http://stackoverflow.com/questions/22911190/gradle-build-dependancy-throwing-classnotfoundexception)。私はそれが私のマニフェストの問題かもしれないと思う。 – thias