0
を起動することができません。これは、私が取得エラーです - 私はlayoutFactoryオプションをテイクアウトした場合は、カスタム春のブートlayoutFactoryを作成し、今、私の春ブーツアプリ
Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
を、私はブートアプリを起動することができています。私build.gradle
で
私はあなたがまだ春ブーツのを使用している、私の知る限り、lib
はなくBOOT-INF/lib
にネストされたjarファイルをパッケージ化したカスタムジャーレイアウトを使用しますが、している
springBoot {
mainClass = "com.mycompany.Application"
layoutFactory = new CustomLayoutFactory()
}
class CustomLayoutFactory implements LayoutFactory {
@Override
Layout getLayout(File source) {
if (source?.getName().toLowerCase().endsWith('.jar')) {
return new Layouts.Jar() {
@Override
public String getLibraryDestination(String libraryName, LibraryScope scope) {
return "lib/";
}
@Override
public String getRepackagedClassesLocation() {
return "";
}
};
}
return Layouts.forFile(source);
}
ありがとうAndy。 私はこれを持っています。ここで何を変える必要がありますか? 公共MyClassのはLayouts.JarがCustomLoaderLayout { 公共ボイドwriteLoadedClasses(LoaderClassesWriterライタ)IOExceptionがスロー{ writer.writeEntryを(this.name、新しいれるByteArrayInputStream( "試験" .getBytes()))を実装して延び。 }パブリック文字列getLibraryDestination(文字列LIBRARYNAME、LibraryScopeスコープ){ 戻る "LIB /"。 } public String getClassesLocation(){ return ""; }パブリック文字列getRepackagedClassesLocation(){ リターン ""。 } } –
ローダークラスの定義に関する詳細が必要です。 SpringのブートでLayouts.Jarを拡張し、CustomLoaderLayoutを実装したクラスを作成するにはどうすればよいですか? 公共ボイドwriteLoadedClasses(LoaderClassesWriterライタ)にIOException { writer.writeLoaderClasses()を投げます。 }パブリック文字列getLibraryDestination(文字列LIBRARYNAME、LibraryScopeスコープ){ 戻る "LIB /"。 } public String getClassesLocation(){ return ""; } @Override public String getRepackagedClassesLocation(){ return ""; } –