Gradleビルドで問題が発生しました。 Spring Webサイトで提案されている標準( https://spring.io/guides/gs/rest-service/ )を使用していますが、gradleビルドを使用しようとすると、このエラーが発生しました:
このグラドルでは機能しませんが、別の1つ(学校にいたときに取ったもの)を使用すると、完全に機能します。
2つの可能性があります
src/main/Java/your/package
)これを追加して、メインクラスの場所を示します
springBoot { mainClass = "hello.FileUploader" }
確かに1です。
私もこの問題を抱えています、ここで問題を解決しました:
つかいます org.springframework.boot:spring-boot-starter
の代わりに org.springframework.boot:spring-boot-starter-web
(プロジェクトが他のプロジェクトで使用されるモジュールのみである場合)。
または、gradleでメインクラスを設定します。
mainClassName = 'your.package.MainClass'
または、単にbootRepackage
を無効にします
bootRepackage {
enabled = false
}
プロジェクトにはメインメソッドがありません(そうでない場合、プラグインはそれを見つけます)。メインメソッドには非常に具体的なシグネチャがあるため、public static void main(String[] args)
があることを確認してください。
Build.gradleファイルが属する現在のプロジェクトでメインクラスが定義されていないが、スプリント統合テストなどの何らかの目的でメインクラスを起動する場合。次のようにします:
追加中
bootRepackage {
mainClass = 'your.app.package.Application'
}
build.gradle(プラグインをロードする必要があるため、ライン適用プラグイン: 'spring-boot'の後)で問題を修正します。
これは非常に古い投稿であることを知っています。しかし、最初のスプリングブートアプリケーション( https://spring.io/guides/gs/spring-boot/#scratch )をビルドしようとしたときに、この問題に遭遇しました。そのため、チュートリアルで言及されているpom.xmlの場所は正しくありません。 srcフォルダーの外に配置する必要があります。最終的なディレクトリ構造は次のとおりです-/workspace/src/main/Java/hello/HelloController.Java /workspace/src/main/Java/hello/Application.Java /workspace/pom.xml
これは私にも起こりました。
build.gradle
ファイルの場所に混乱しました。このサブディレクトリを作成する指示の直後に記載されているため、src/main/Java/helloに配置する必要があると思いました。構造。
src folderを含むルートフォルダーに配置する必要があります。これを実行して、ガイドの指示に従って「gradle build
」ではなく、ルートフォルダーから「./gradlew build
」を呼び出すと、ビルドは成功しました。
私はgradleの標準インストールを実行せず、バイナリをダウンロードしただけです。これが「./gradlew build
」が失敗した理由かもしれません。
エンコーディングを指定して解決しました。おそらく、IDEでコードを記述したためです。
Java -Dfile.encoding=UTF-8 -jar build <filename>.jar