web-dev-qa-db-ja.com

Spring Bootアプリケーションは、クラスパスで開始できませんでした:[]

jHipster でSpring Bootアプリケーションを生成し、以前のプロジェクト(jhipster以外のプロジェクト)からコードを追加して、IDEAを使用して実行しようとしました。最初に this に似たエラーメッセージが表示され、「コマンドラインが長すぎます。」(Windows 10 x64を実行しています) [有効にする]をクリックしましたが、次のようなエラーが表示されました。

"C:\Program Files\Java\jdk1.8.0_144\bin\Java" -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:51351,suspend=y,server=n -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.Sun.management.jmxremote -Dcom.Sun.management.jmxremote.port=51350 -Dcom.Sun.management.jmxremote.authenticate=false -Dcom.Sun.management.jmxremote.ssl=false -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dfile.encoding=UTF-8 -classpath C:\Users\User\AppData\Local\Temp\classpath.jar com.test.pc.TestPartsComposerApp
Connected to the target VM, address: '127.0.0.1:51351', transport: 'socket'
The Class-Path manifest attribute in C:\Users\User\AppData\Local\Temp\classpath.jar referenced one or more files that do not exist: .... Extremely long list of jars
07:48:56.779 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Included patterns for restart : []
07:48:56.779 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Excluded patterns for restart : [/spring-boot-starter/target/classes/, /spring-boot-autoconfigure/target/classes/, /spring-boot-starter-[\w-]+/, /spring-boot/target/classes/, /spring-boot-actuator/target/classes/, /spring-boot-devtools/target/classes/]
07:48:56.779 [main] DEBUG org.springframework.boot.devtools.restart.ChangeableUrls - Matching URLs for reloading : []

07:48:57.570 [restartedMain] DEBUG org.springframework.boot.logging.ClasspathLoggingApplicationListener - Application failed to start with classpath: []

./mvnwで試した後:

The Class-Path manifest attribute in C:\Users\User\.m2\repository\com\Sun\xml\bind\jaxb-impl\2.2.3-1\jaxb-impl-2.2.3-1.jar referenced one or more files that do not exist: C:\Users\User\.m2\repository\com\Sun\xml\bind\jaxb-impl\2.2.3-1\jaxb-api.jar,C:\Users\User\.m2\repository\com\Sun\xml\bind\jaxb-impl\2.2.3-1\activation.jar,C:\Users\User\.m2\repository\com\Sun\xml\bind\jaxb-impl\2.2.3-1\jsr173_1.0_api.jar,C:\Users\User\.m2\repository\com\Sun\xml\bind\jaxb-impl\2.2.3-1\jaxb1-impl.jar
The Class-Path manifest attribute in C:\Users\User\.m2\repository\org\liquibase\liquibase-core\3.5.3\liquibase-core-3.5.3.jar referenced one or more files that do not exist: C:\Users\User\.m2\repository\org\liquibase\liquibase-core\3.5.3\lib\snakeyaml-1.13.jar
07:53:54.295 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Included patterns for restart : []
07:53:54.295 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Excluded patterns for restart : [/spring-boot-starter/target/classes/, /spring-boot-autoconfigure/target/classes/, /spring-boot-starter-[\w-]+/, /spring-boot/target/classes/, /spring-boot-actuator/target/classes/, /spring-boot-devtools/target/classes/]
07:53:54.295 [main] DEBUG org.springframework.boot.devtools.restart.ChangeableUrls - Matching URLs for reloading : [file:/C:/workspace/jh-fpc/TestPartsComposer/target/classes/]
07:53:55.295 [restartedMain] DEBUG org.springframework.boot.logging.ClasspathLoggingApplicationListener - Application failed to start with classpath: [file:/C:/workspace/jh-fpc/TestPartsComposer/target/classes/]

pom.xmlhere を投稿しました。

私は完全に新しいプロジェクトを作成し、私が持っていたMaven依存関係を1つずつ追加し始め、すべてのステップの後にプロジェクトを実行しました。クラスパスに関する問題は、[〜#〜] both [〜#〜]spring-batchとguavaをpomに追加すると発生します。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-batch</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>${guava-core.version}</version>
</dependency>
12
szab.kel

JHipsterアプリケーションでも同じエラーメッセージが表示され、この同じ問題が発生しました。私にとって根本的な原因は、application-dev.ymlのスプリングメール設定のフォーマット(インデント)が間違っていたためです。別のプロジェクトから設定をコピーして貼り付けただけで、IntelliJは元のコードとは少し異なるインデントを設定しました。そのため、解決できませんでした。

これらの「マニフェスト属性」はアプリケーションを起動するたびに表示されますが、少なくとも私にとっては、実際の問題とは関係ありませんでした。これが原因の根本に到達するのに役立つことを願っています!乾杯、

12
koni123

このエラーメッセージは ClasspathLoggingApplicationListener#onApplicationEvent によって出力されます

しかし、エラーの本当の理由は出力しません。

したがって、アプリをデバッグモードで起動し、この行にブレークポイントを追加してから、event.exception、および実際に発生したエラーを確認します。

この問題により、30分ほど無駄になりました。

3
Li Ying

同じ問題、application.propertiesでspring.profiles.activeを設定するのを忘れて、複数のapplication-*.propertiesがあります

1
akuma8

ロガーでCONSOLEアペンダーがアクティブになっていることを確認してください。これにより、Eclipseコンソールの実際の問題がわかります。

<root level="info">
        <appender-ref ref="CONSOLE" /> 
        <appender-ref ref="FILE" />
</root>

私はjhipster @4.10.2と同じ問題を抱えていました-私が得た解決策はここにあります

@ koni123がapplication-dev.ymlと何か関係があると正しく言ったように、このファイルを以前のファイルバージョンと比較すると、「spring.jpa.hibernate.format_sql:true」が問題を引き起こしていることがわかりました。 application-dev.ymlから削除すると、問題は解決しました。お役に立てれば。

0
Ewan