私はタイトル自体が説明的であると思いますが、私は挨拶サービスにjar
(すなわち、エラー処理-service.jar)のいずれかを含めるようにしようとしています明確にすること。 ja。ビルド後、私は新しいプロジェクト(すなわち、TestApplication)での挨拶-service.jarを含むが、TestApplicationを実行する上で、私は(ところで、TestApplicationはGradleのプロジェクトではありません)のGradle:JARファイルのクラスパスにクラスを追加する
Exception in thread "main" java.lang.NoClassDefFoundError: co/common/exception/BaseException
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
co.common.exceptionを取得しています。 BaseExceptionのクラスはエラー処理サービスモジュール
questionここにあります。私は、エラー処理サービス
buildscript {
repositories {
mavenCentral()
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'maven'
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
compile('org.apache.commons:commons-lang3:3.0')
compile('org.apache.commons:commons-collections4:4.0')
compile('org.slf4j:slf4j-api:1.7.25')
compile('co.common:error-handling-service:1.0.0-SNAPSHOT')
testCompile("org.mockito:mockito-all:1.9.5")
testCompile('junit:junit:4.12')
}
jar {
baseName = 'greeting-service'
version = '1.0.0-SNAPSHOT'
manifest {
attributes(
"Manifest-Version": "1.0",
"Class-Path": configurations.compile.collect { it.getName() }.join(' ')
)
}
}
group = 'co.common'
version = '1.0.0-SNAPSHOT'
sourceCompatibility = 1.8
targetCompatibility = 1.8
task wrapper(type: Wrapper) {
gradleVersion = '2.3'
}
に依存しているサービスの挨拶のbuild.gradleあるサービスを挨拶のビルドが成功した後、私はTestApplicationに挨拶-service.jarを含めここ
manifest {
attributes(
"Manifest-Version": "1.0",
"Class-Path": configurations.compile.collect { it.getName() }.join(' ')
)
}
を含まそれでも私は上記と同じ例外を受けました。
Manifest-Version: 1.0
Class-Path: commons-lang3-3.0.jar commons-io-2.4.jar commons-collections
4-4.0.jar slf4j-api-1.7.25.jar error-handling-service-1.0.0-SNAPSHOT.
jar commons-logging-1.1.3.jar
どうしてこのようなことが起こりますか?
jarの内容には、error-handling-service-1.0.0-SNAPSHOT.jarのクラスが含まれていません。しかし、それは私の設定が良く見えるか、何かが欠けているのを知りたいのですか? –
あなたのビルドファイルはokです。しかし、このエラーは 'co/common/exception/BaseException'クラスが見つからないことが原因です。したがって、このクラスの.jarファイルをビルドパスに含める必要があります。または、コードからこのクラスの使用法を削除することもできます。 'gradle dependencies'コマンドを使ってgradleプロジェクトの実際の依存関係を確認することができます –