jboss 不能载入自定义类的问题

在使用JBoss-5.1.0.GA部署应用时遇到自定义类无法加载的问题,通过修改CLASSPATH及JBOSS_CLASSPATH变量解决了类加载失败的情况。详细步骤包括更改字符编码、调整环境变量配置。

linux + jdk1.6 + jboss-5.1.0.GA

 自定义的类放在部署文件夹下不能加载( Class cannot be resolved ),java库中的类加载正常。

曾尝试 更改字符编码 ,无效

后来发现运行run.sh的时候显示的 CLASSPATH 与我定义的不同,打开run.sh,发现显示语句是:echo CLASSPATH:$JBOSS_CLASSPATH

然后观察JBOSS_CLASSPATH这个变量,只包含两项:jdk中的tools.jar 和jboss中的run.jar,于是在显示语句之前添加:JBOSS_CLASSPATH="$CLASSPATH:$JBOSS_CLASSPATH“,也就是把我原来的CLASSPATH附加到JBOSS的专用类变量JBOSS_CLASSPATH

另外,我的CLASSPATH里面包含部署项目的类路径,比如/var/jboss-5.1.0.GA/server/default/deploy/asensor.war/WEB-INF/classes

D:\IDEA\jdk-21\bin\java.exe -XX:TieredStopAtLevel=1 -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" "-javaagent:D:\IDEA\IntelliJ IDEA 2024.2.4\lib\idea_rt.jar=56829:D:\IDEA\IntelliJ IDEA 2024.2.4\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath E:\AliCloud\free-fs\fs-admin\target\classes;E:\AliCloud\free-fs\fs-common\target\classes;C:\Users\ASUS\.m2\repository\org\springframework\boot\spring-boot-starter-web\3.3.0\spring-boot-starter-web-3.3.0.jar;C:\Users\ASUS\.m2\repository\org\springframework\boot\spring-boot-starter-json\3.3.0\spring-boot-starter-json-3.3.0.jar;C:\Users\ASUS\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.17.1\jackson-datatype-jdk8-2.17.1.jar;C:\Users\ASUS\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.17.1\jackson-datatype-jsr310-2.17.1.jar;C:\Users\ASUS\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.17.1\jackson-module-parameter-names-2.17.1.jar;C:\Users\ASUS\.m2\repository\org\springframework\spring-web\6.1.8\spring-web-6.1.8.jar;C:\Users\ASUS\.m2\repository\io\micrometer\micrometer-observation\1.13.0\micrometer-observation-1.13.0.jar;C:\Users\ASUS\.m2\repository\io\micrometer\micrometer-commons\1.13.0\micrometer-commons-1.13.0.jar;C:\Users\ASUS\.m2\repository\org\springframework\spring-webmvc\6.1.8\spring-webmvc-6.1.8.jar;C:\Users\ASUS\.m2\repository\org\springframework\spring-context\6.1.8\spring-context-6.1.8.jar;C:\Users\ASUS\.m2\repository\org\springframework\spring-expression\6.1.8\spring-expression-6.1.8.jar;C:\Users\ASUS\.m2\repository\org\springframework\boot\spring-boot-starter-undertow\3.3.0\spring-boot-starter-undertow-3.3.0.jar;C:\Users\ASUS\.m2\repository\io\undertow\undertow-core\2.3.13.Final\undertow-core-2.3.13.Final.jar;C:\Users\ASUS\.m2\repository\org\jboss\logging\jboss-logging\3.5.3.Final\jboss-logging-3.5.3.Final.jar;C:\Users\ASUS\.m2\repository\org\jboss\xnio\xnio-api\3.8.8.Final\xnio-api-3.8.8.Final.jar;C:\Users\ASUS\.m2\repository\org\wildfly\common\wildfly-common\1.5.4.Final\wildfly-common-1.5.4.Final.jar;C:\Users\ASUS\.m2\repository\org\wildfly\client\wildfly-client-config\1.0.1.Final\wildfly-client-config-1.0.1.Final.jar;C:\Users\ASUS\.m2\repository\org\jboss\xnio\xnio-nio\3.8.8.Final\xnio-nio-3.8.8.Final.jar;C:\Users\ASUS\.m2\repository\org\jboss\threads\jboss-threads\3.5.0.Final\jboss-threads-3.5.0.Final.jar;C:\Users\ASUS\.m2\repository\io\undertow\undertow-servlet\2.3.13.Final\undertow-servlet-2.3.13.Final.jar;C:\Users\ASUS\.m2\repository\jakarta\servlet\jakarta.servlet-api\6.0.0\jakarta.servlet-api-6.0.0.jar;C:\Users\ASUS\.m2\repository\io\undertow\undertow-websockets-jsr\2.3.13.Final\undertow-websockets-jsr-2.3.13.Final.jar;C:\Users\ASUS\.m2\repository\jakarta\websocket\jakarta.websocket-api\2.1.1\jakarta.websocket-api-2.1.1.jar;C:\Users\ASUS\.m2\repository\jakarta\websocket\jakarta.websocket-client-api\2.1.1\jakarta.websocket-client-api-2.1.1.jar;C:\Users\ASUS\.m2\repository\org\apache\tomcat\embed\tomcat-embed-el\10.1.24\tomcat-embed-el-10.1.24.jar;C:\Users\ASUS\.m2\repository\com\mybatis-flex\mybatis-flex-spring-boot3-starter\1.9.3\mybatis-flex-spring-boot3-starter-1.9.3.jar;C:\Users\ASUS\.m2\repository\com\mybatis-flex\mybatis-flex-spring-boot-starter\1.9.3\mybatis-flex-spring-boot-starter-1.9.3.jar;C:\Users\ASUS\.m2\repository\com\mybatis-flex\mybatis-flex-spring\1.9.3\mybatis-flex-spring-1.9.3.jar;C:\Users\ASUS\.m2\repository\org\springframework\spring-context-support\6.1.8\spring-context-support-6.1.8.jar;C:\Users\ASUS\.m2\repository\org\springframework\spring-jdbc\6.1.8\spring-jdbc-6.1.8.jar;C:\Users\ASUS\.m2\repository\org\springframework\spring-tx\6.1.8\spring-tx-6.1.8.jar;C:\Users\ASUS\.m2\repository\com\mybatis-flex\mybatis-flex-core\1.9.3\mybatis-flex-core-1.9.3.jar;C:\Users\ASUS\.m2\repository\com\mybatis-flex\mybatis-flex-annotation\1.9.3\mybatis-flex-annotation-1.9.3.jar;C:\Users\ASUS\.m2\repository\com\mybatis-flex\mybatis-flex-processor\1.9.3\mybatis-flex-processor-1.9.3.jar;C:\Users\ASUS\.m2\repository\org\mybatis\mybatis\3.5.15\mybatis-3.5.15.jar;C:\Users\ASUS\.m2\repository\org\mybatis\mybatis-spring\3.0.3\mybatis-spring-3.0.3.jar;C:\Users\ASUS\.m2\repository\cn\dev33\sa-token-spring-boot3-starter\1.38.0\sa-token-spring-boot3-starter-1.38.0.jar;C:\Users\ASUS\.m2\repository\cn\dev33\sa-token-jakarta-servlet\1.38.0\sa-token-jakarta-servlet-1.38.0.jar;C:\Users\ASUS\.m2\repository\cn\dev33\sa-token-spring-boot-autoconfig\1.38.0\sa-token-spring-boot-autoconfig-1.38.0.jar;C:\Users\ASUS\.m2\repository\cn\dev33\sa-token-dialect-thymeleaf\1.38.0\sa-token-dialect-thymeleaf-1.38.0.jar;C:\Users\ASUS\.m2\repository\cn\dev33\sa-token-core\1.38.0\sa-token-core-1.38.0.jar;C:\Users\ASUS\.m2\repository\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar;C:\Users\ASUS\.m2\repository\commons-fileupload\commons-fileupload\1.4\commons-fileupload-1.4.jar;C:\Users\ASUS\.m2\repository\commons-io\commons-io\2.11.0\commons-io-2.11.0.jar;C:\Users\ASUS\.m2\repository\commons-codec\commons-codec\1.13\commons-codec-1.13.jar;C:\Users\ASUS\.m2\repository\com\alibaba\fastjson2\fastjson2\2.0.51\fastjson2-2.0.51.jar;C:\Users\ASUS\.m2\repository\cn\hutool\hutool-core\5.8.28\hutool-core-5.8.28.jar;C:\Users\ASUS\.m2\repository\cn\hutool\hutool-http\5.8.28\hutool-http-5.8.28.jar;C:\Users\ASUS\.m2\repository\cn\hutool\hutool-extra\5.8.28\hutool-extra-5.8.28.jar;C:\Users\ASUS\.m2\repository\cn\hutool\hutool-setting\5.8.28\hutool-setting-5.8.28.jar;C:\Users\ASUS\.m2\repository\cn\hutool\hutool-log\5.8.28\hutool-log-5.8.28.jar;C:\Users\ASUS\.m2\repository\cn\hutool\hutool-cache\5.8.28\hutool-cache-5.8.28.jar;C:\Users\ASUS\.m2\repository\org\projectlombok\lombok\1.18.30\lombok-1.18.30.jar;C:\Users\ASUS\.m2\repository\com\alibaba\transmittable-thread-local\2.14.2\transmittable-thread-local-2.14.2.jar;C:\Users\ASUS\.m2\repository\com\aliyun\oss\aliyun-sdk-oss\3.10.2\aliyun-sdk-oss-3.10.2.jar;C:\Users\ASUS\.m2\repository\org\apache\httpcomponents\httpclient\4.4.1\httpclient-4.4.1.jar;C:\Users\ASUS\.m2\repository\org\apache\httpcomponents\httpcore\4.4.16\httpcore-4.4.16.jar;C:\Users\ASUS\.m2\repository\org\jdom\jdom2\2.0.6.1\jdom2-2.0.6.1.jar;C:\Users\ASUS\.m2\repository\org\codehaus\jettison\jettison\1.1\jettison-1.1.jar;C:\Users\ASUS\.m2\repository\stax\stax-api\1.0.1\stax-api-1.0.1.jar;C:\Users\ASUS\.m2\repository\com\aliyun\aliyun-java-sdk-core\3.4.0\aliyun-java-sdk-core-3.4.0.jar;C:\Users\ASUS\.m2\repository\com\aliyun\aliyun-java-sdk-ram\3.0.0\aliyun-java-sdk-ram-3.0.0.jar;C:\Users\ASUS\.m2\repository\com\aliyun\aliyun-java-sdk-sts\3.0.0\aliyun-java-sdk-sts-3.0.0.jar;C:\Users\ASUS\.m2\repository\com\aliyun\aliyun-java-sdk-ecs\4.2.0\aliyun-java-sdk-ecs-4.2.0.jar;C:\Users\ASUS\.m2\repository\com\aliyun\aliyun-java-sdk-kms\2.7.0\aliyun-java-sdk-kms-2.7.0.jar;C:\Users\ASUS\.m2\repository\com\google\code\gson\gson\2.10.1\gson-2.10.1.jar;C:\Users\ASUS\.m2\repository\io\minio\minio\8.4.3\minio-8.4.3.jar;C:\Users\ASUS\.m2\repository\com\carrotsearch\thirdparty\simple-xml-safe\2.7.1\simple-xml-safe-2.7.1.jar;C:\Users\ASUS\.m2\repository\com\google\guava\guava\30.1.1-jre\guava-30.1.1-jre.jar;C:\Users\ASUS\.m2\repository\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar;C:\Users\ASUS\.m2\repository\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;C:\Users\ASUS\.m2\repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;C:\Users\ASUS\.m2\repository\org\checkerframework\checker-qual\3.8.0\checker-qual-3.8.0.jar;C:\Users\ASUS\.m2\repository\com\google\errorprone\error_prone_annotations\2.5.1\error_prone_annotations-2.5.1.jar;C:\Users\ASUS\.m2\repository\com\google\j2objc\j2objc-annotations\1.3\j2objc-annotations-1.3.jar;C:\Users\ASUS\.m2\repository\com\squareup\okhttp3\okhttp\4.12.0\okhttp-4.12.0.jar;C:\Users\ASUS\.m2\repository\com\squareup\okio\okio\3.6.0\okio-3.6.0.jar;C:\Users\ASUS\.m2\repository\com\squareup\okio\okio-jvm\3.6.0\okio-jvm-3.6.0.jar;C:\Users\ASUS\.m2\repository\org\jetbrains\kotlin\kotlin-stdlib-common\1.9.24\kotlin-stdlib-common-1.9.24.jar;C:\Users\ASUS\.m2\repository\org\jetbrains\kotlin\kotlin-stdlib-jdk8\1.9.24\kotlin-stdlib-jdk8-1.9.24.jar;C:\Users\ASUS\.m2\repository\org\jetbrains\kotlin\kotlin-stdlib\1.9.24\kotlin-stdlib-1.9.24.jar;C:\Users\ASUS\.m2\repository\org\jetbrains\annotations\13.0\annotations-13.0.jar;C:\Users\ASUS\.m2\repository\org\jetbrains\kotlin\kotlin-stdlib-jdk7\1.9.24\kotlin-stdlib-jdk7-1.9.24.jar;C:\Users\ASUS\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.17.1\jackson-annotations-2.17.1.jar;C:\Users\ASUS\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.17.1\jackson-core-2.17.1.jar;C:\Users\ASUS\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.17.1\jackson-databind-2.17.1.jar;C:\Users\ASUS\.m2\repository\org\bouncycastle\bcprov-jdk15on\1.69\bcprov-jdk15on-1.69.jar;C:\Users\ASUS\.m2\repository\org\apache\commons\commons-compress\1.21\commons-compress-1.21.jar;C:\Users\ASUS\.m2\repository\org\xerial\snappy\snappy-java\1.1.8.4\snappy-java-1.1.8.4.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\s3\2.26.3\s3-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\aws-xml-protocol\2.26.3\aws-xml-protocol-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\aws-query-protocol\2.26.3\aws-query-protocol-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\protocol-core\2.26.3\protocol-core-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\arns\2.26.3\arns-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\profiles\2.26.3\profiles-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\crt-core\2.26.3\crt-core-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\http-auth\2.26.3\http-auth-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\identity-spi\2.26.3\identity-spi-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\http-auth-spi\2.26.3\http-auth-spi-2.26.3.jar;C:\Users\ASUS\.m2\repository\org\reactivestreams\reactive-streams\1.0.4\reactive-streams-1.0.4.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\http-auth-aws\2.26.3\http-auth-aws-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\checksums\2.26.3\checksums-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\checksums-spi\2.26.3\checksums-spi-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\retries-spi\2.26.3\retries-spi-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\sdk-core\2.26.3\sdk-core-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\retries\2.26.3\retries-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\auth\2.26.3\auth-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\eventstream\eventstream\1.0.1\eventstream-1.0.1.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\http-client-spi\2.26.3\http-client-spi-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\regions\2.26.3\regions-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\annotations\2.26.3\annotations-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\utils\2.26.3\utils-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\aws-core\2.26.3\aws-core-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\metrics-spi\2.26.3\metrics-spi-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\json-utils\2.26.3\json-utils-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\third-party-jackson-core\2.26.3\third-party-jackson-core-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\endpoints-spi\2.26.3\endpoints-spi-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\apache-client\2.26.3\apache-client-2.26.3.jar;C:\Users\ASUS\.m2\repository\software\amazon\awssdk\netty-nio-client\2.26.3\netty-nio-client-2.26.3.jar;C:\Users\ASUS\.m2\repository\io\netty\netty-codec-http\4.1.110.Final\netty-codec-http-4.1.110.Final.jar;C:\Users\ASUS\.m2\repository\io\netty\netty-codec-http2\4.1.110.Final\netty-codec-http2-4.1.110.Final.jar;C:\Users\ASUS\.m2\repository\io\netty\netty-codec\4.1.110.Final\netty-codec-4.1.110.Final.jar;C:\Users\ASUS\.m2\repository\io\netty\netty-transport\4.1.110.Final\netty-transport-4.1.110.Final.jar;C:\Users\ASUS\.m2\repository\io\netty\netty-common\4.1.110.Final\netty-common-4.1.110.Final.jar;C:\Users\ASUS\.m2\repository\io\netty\netty-buffer\4.1.110.Final\netty-buffer-4.1.110.Final.jar;C:\Users\ASUS\.m2\repository\io\netty\netty-handler\4.1.110.Final\netty-handler-4.1.110.Final.jar;C:\Users\ASUS\.m2\repository\io\netty\netty-transport-native-unix-common\4.1.110.Final\netty-transport-native-unix-common-4.1.110.Final.jar;C:\Users\ASUS\.m2\repository\io\netty\netty-transport-classes-epoll\4.1.110.Final\netty-transport-classes-epoll-4.1.110.Final.jar;C:\Users\ASUS\.m2\repository\io\netty\netty-resolver\4.1.110.Final\netty-resolver-4.1.110.Final.jar;C:\Users\ASUS\.m2\repository\com\qcloud\cos_api\5.6.213\cos_api-5.6.213.jar;C:\Users\ASUS\.m2\repository\joda-time\joda-time\2.9.9\joda-time-2.9.9.jar;C:\Users\ASUS\.m2\repository\com\tencentcloudapi\tencentcloud-sdk-java-kms\3.1.213\tencentcloud-sdk-java-kms-3.1.213.jar;C:\Users\ASUS\.m2\repository\com\tencentcloudapi\tencentcloud-sdk-java-common\3.1.213\tencentcloud-sdk-java-common-3.1.213.jar;C:\Users\ASUS\.m2\repository\com\squareup\okhttp\logging-interceptor\2.7.5\logging-interceptor-2.7.5.jar;C:\Users\ASUS\.m2\repository\com\squareup\okhttp\okhttp\2.7.5\okhttp-2.7.5.jar;C:\Users\ASUS\.m2\repository\javax\xml\bind\jaxb-api\2.3.0\jaxb-api-2.3.0.jar;C:\Users\ASUS\.m2\repository\com\thoughtworks\xstream\xstream\1.4.20\xstream-1.4.20.jar;C:\Users\ASUS\.m2\repository\io\github\x-stream\mxparser\1.2.2\mxparser-1.2.2.jar;C:\Users\ASUS\.m2\repository\xmlpull\xmlpull\1.1.3.1\xmlpull-1.1.3.1.jar;E:\AliCloud\free-fs\fs-core\target\classes;C:\Users\ASUS\.m2\repository\org\apache\tika\tika-core\2.7.0\tika-core-2.7.0.jar;C:\Users\ASUS\.m2\repository\net\coobird\thumbnailator\0.4.19\thumbnailator-0.4.19.jar;C:\Users\ASUS\.m2\repository\org\springframework\boot\spring-boot-starter-validation\3.3.0\spring-boot-starter-validation-3.3.0.jar;C:\Users\ASUS\.m2\repository\org\hibernate\validator\hibernate-validator\8.0.1.Final\hibernate-validator-8.0.1.Final.jar;C:\Users\ASUS\.m2\repository\jakarta\validation\jakarta.validation-api\3.0.2\jakarta.validation-api-3.0.2.jar;C:\Users\ASUS\.m2\repository\com\fasterxml\classmate\1.7.0\classmate-1.7.0.jar;C:\Users\ASUS\.m2\repository\org\springframework\boot\spring-boot-configuration-processor\3.3.0\spring-boot-configuration-processor-3.3.0.jar;C:\Users\ASUS\.m2\repository\org\springframework\boot\spring-boot-starter\3.3.0\spring-boot-starter-3.3.0.jar;C:\Users\ASUS\.m2\repository\org\springframework\boot\spring-boot\3.3.0\spring-boot-3.3.0.jar;C:\Users\ASUS\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\3.3.0\spring-boot-autoconfigure-3.3.0.jar;C:\Users\ASUS\.m2\repository\org\springframework\boot\spring-boot-starter-logging\3.3.0\spring-boot-starter-logging-3.3.0.jar;C:\Users\ASUS\.m2\repository\ch\qos\logback\logback-classic\1.5.6\logback-classic-1.5.6.jar;C:\Users\ASUS\.m2\repository\ch\qos\logback\logback-core\1.5.6\logback-core-1.5.6.jar;C:\Users\ASUS\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.23.1\log4j-to-slf4j-2.23.1.jar;C:\Users\ASUS\.m2\repository\org\apache\logging\log4j\log4j-api\2.23.1\log4j-api-2.23.1.jar;C:\Users\ASUS\.m2\repository\org\slf4j\jul-to-slf4j\2.0.13\jul-to-slf4j-2.0.13.jar;C:\Users\ASUS\.m2\repository\jakarta\annotation\jakarta.annotation-api\2.1.1\jakarta.annotation-api-2.1.1.jar;C:\Users\ASUS\.m2\repository\org\yaml\snakeyaml\2.2\snakeyaml-2.2.jar;C:\Users\ASUS\.m2\repository\org\springframework\spring-core\6.1.8\spring-core-6.1.8.jar;C:\Users\ASUS\.m2\repository\org\springframework\spring-jcl\6.1.8\spring-jcl-6.1.8.jar;C:\Users\ASUS\.m2\repository\org\springframework\boot\spring-boot-starter-thymeleaf\3.3.0\spring-boot-starter-thymeleaf-3.3.0.jar;C:\Users\ASUS\.m2\repository\org\thymeleaf\thymeleaf-spring6\3.1.2.RELEASE\thymeleaf-spring6-3.1.2.RELEASE.jar;C:\Users\ASUS\.m2\repository\org\thymeleaf\thymeleaf\3.1.2.RELEASE\thymeleaf-3.1.2.RELEASE.jar;C:\Users\ASUS\.m2\repository\org\attoparser\attoparser\2.0.7.RELEASE\attoparser-2.0.7.RELEASE.jar;C:\Users\ASUS\.m2\repository\org\unbescape\unbescape\1.1.6.RELEASE\unbescape-1.1.6.RELEASE.jar;C:\Users\ASUS\.m2\repository\com\mysql\mysql-connector-j\8.3.0\mysql-connector-j-8.3.0.jar;C:\Users\ASUS\.m2\repository\com\zaxxer\HikariCP\5.0.1\HikariCP-5.0.1.jar;C:\Users\ASUS\.m2\repository\org\slf4j\slf4j-api\2.0.13\slf4j-api-2.0.13.jar;C:\Users\ASUS\.m2\repository\org\springframework\boot\spring-boot-starter-aop\3.3.0\spring-boot-starter-aop-3.3.0.jar;C:\Users\ASUS\.m2\repository\org\springframework\spring-aop\6.1.8\spring-aop-6.1.8.jar;C:\Users\ASUS\.m2\repository\org\springframework\spring-beans\6.1.8\spring-beans-6.1.8.jar;C:\Users\ASUS\.m2\repository\org\aspectj\aspectjweaver\1.9.22\aspectjweaver-1.9.22.jar;C:\Users\ASUS\.m2\repository\com\xkcoding\justauth\justauth-spring-boot-starter\1.4.0\justauth-spring-boot-starter-1.4.0.jar;C:\Users\ASUS\.m2\repository\me\zhyd\oauth\JustAuth\1.16.1\JustAuth-1.16.1.jar;C:\Users\ASUS\.m2\repository\com\xkcoding\http\simple-http\1.0.3\simple-http-1.0.3.jar;C:\Users\ASUS\.m2\repository\com\alibaba\fastjson\1.2.76\fastjson-1.2.76.jar com.free.fs.FsAdminApplication ,------.,------. ,------.,------. ,------. ,---. | .---'| .--. '| .---'| .---',-----.| .---'' .-' | `--, | '--'.'| `--, | `--, '-----'| `--, `. `-. | |` | |\ \ | `---.| `---. | |` .-' | `--' `--' '--'`------'`------' `--' `-----' ------------------------------------------------------------------------- JRE : Java(TM) SE Runtime Environment 21.0.5+9-LTS-239 SpringBoot : 3.3.0 服务名 : free-fs 端口号 : 8081 运行环境 : dev 进程号 : 17084 ------------------------------------------------------------------------- [Fs] 2025-06-26 12:56:15 [background-preinit] INFO o.h.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final [Fs] 2025-06-26 12:56:15 [main] INFO com.free.fs.FsAdminApplication - Starting FsAdminApplication using Java 21.0.5 with PID 17084 (E:\AliCloud\free-fs\fs-admin\target\classes started by ASUS in E:\AliCloud\free-fs) [Fs] 2025-06-26 12:56:15 [main] INFO com.free.fs.FsAdminApplication - The following 1 profile is active: "dev" [Fs] 2025-06-26 12:56:16 [main] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.free.fs]' package. Please check your configuration. [Fs] 2025-06-26 12:56:16 [main] INFO io.undertow.servlet - Initializing Spring embedded WebApplicationContext [Fs] 2025-06-26 12:56:16 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 927 ms Logging initialized using 'class org.apache.ibatis.logging.stdout.StdOutImpl' adapter. [Fs] 2025-06-26 12:56:16 [main] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page template: index ____ ____ ___ ____ _ _ ____ _ _ [__ |__| __ | | | |_/ |___ |\ | ___] | | | |__| | \_ |___ | \| https://sa-token.cc (v1.38.0) SA [INFO] -->: 全局配置 SaTokenConfig [tokenName=free-fs-token, timeout=86400, activeTimeout=3600, dynamicActiveTimeout=false, isConcurrent=true, isShare=true, maxLoginCount=12, maxTryTimes=12, isReadBody=true, isReadHeader=true, isReadCookie=true, isWriteHeader=false, tokenStyle=uuid, dataRefreshPeriod=30, tokenSessionCheckLogin=true, autoRenew=true, tokenPrefix=null, isPrint=true, isLog=true, logLevel=trace, logLevelInt=1, isColorLog=true, jwtSecretKey=null, httpBasic=, httpDigest=, currDomain=null, sameTokenTimeout=86400, checkSameToken=false, cookie=SaCookieConfig [domain=null, path=null, secure=false, httpOnly=false, sameSite=null], sign=SaSignConfig [secretKey=null, timestampDisparity=900000]] SA [INFO] -->: 全局组件 StpInterface 载入成功: com.free.fs.core.service.impl.RolePermissionServiceImpl SA [INFO] -->: 全局组件 SaTokenContext 载入成功: cn.dev33.satoken.spring.SaTokenContextForSpringInJakartaServlet SA [INFO] -->: 全局组件 SaJsonTemplate 载入成功: cn.dev33.satoken.spring.json.SaJsonTemplateForJackson [Fs] 2025-06-26 12:56:17 [main] INFO io.undertow - starting server: Undertow - 2.3.13.Final [Fs] 2025-06-26 12:56:17 [main] INFO org.xnio - XNIO version 3.8.8.Final [Fs] 2025-06-26 12:56:17 [main] INFO org.xnio.nio - XNIO NIO Implementation Version 3.8.8.Final [Fs] 2025-06-26 12:56:17 [main] INFO org.jboss.threads - JBoss Threads version 3.5.0.Final [Fs] 2025-06-26 12:56:17 [main] INFO o.s.b.w.e.undertow.UndertowWebServer - Undertow started on port 8081 (http) with context path '/' [Fs] 2025-06-26 12:56:17 [main] INFO com.free.fs.FsAdminApplication - Started FsAdminApplication in 2.163 seconds (process running for 2.61) _____ _ _ _____ _____ ______ _____ _____ / ____| | | |/ ____/ ____| ____|/ ____/ ____| | (___ | | | | | | | | |__ | (___| (___ \___ \| | | | | | | | __| \___ \\___ \ ____) | |__| | |___| |____| |____ ____) |___) | |_____/ \____/ \_____\_____|______|_____/_____/
最新发布
06-27
<think>我们正在讨论如何启动SpringBoot应用并查看启动日志。根据用户需求,我们需要提供清晰的步骤指导。参考引用:[^1]提到了日志的作用,但没有具体说明如何查看。[^2]提到了禁用持久化日志,但这不是我们需要的。[^3]提到在Linux中以后台服务方式启动并查看滚动日志,这给我们一些提示。通常,启动SpringBoot应用有两种主要方式:1.使用内嵌服务器直接运行可执行jar包(最常见)。2.将应用部署到外部服务器(如Tomcat),但SpringBoot通常内置服务器,所以第一种更常见。查看日志的方法:-控制台输出:启动时直接输出到控制台。-日志文件:SpringBoot默认会生成日志文件(如`spring.log`),位置通常在项目根目录或指定目录。步骤:1.打包应用:使用Maven或Gradle构建项目,生成可执行的jar包(或war包)。2.运行jar包:通过`java-jar`命令运行。3.查看日志:运行过程中控制台会输出日志;同时,日志文件也会记录(默认配置下)。详细步骤:步骤1:打包应用在项目根目录(包含pom.xml或build.gradle)下运行:```bashmvncleanpackage#对于Maven项目```或```bashgradlebuild#对于Gradle项目```构建完成后,在`target`(Maven)或`build/libs`(Gradle)目录下找到生成的jar包。步骤2:运行应用使用以下命令运行:```bashjava-jaryour-application.jar```其中`your-application.jar`是你的jar包文件名。步骤3:查看日志-在运行命令的终端中,你会实时看到启动日志。-同时,SpringBoot默认会在当前目录下生成日志文件,文件名通常为`spring.log`(根据配置可能不同)。但是,默认的日志配置可能不会将日志写入文件,除非我们进行配置。因此,通常我们会配置日志输出到文件。配置日志文件(可选):在`application.properties`或`application.yml`中配置:```properties#设置日志文件路径和文件名logging.file.name=myapp.log#或者使用logging.file.path(设置目录,默认文件名为spring.log)logging.file.path=/var/log```另外,我们也可以将控制台输出重定向到文件:```bashjava-jaryour-application.jar>app.log2>&1```这样,控制台输出会重定向到`app.log`文件。对于在Linux中以后台服务方式运行:我们可以使用`nohup`命令:```bashnohupjava-jaryour-application.jar>app.log2>&1&```这样应用会在后台运行,并且日志输出到`app.log`。查看实时日志(滚动日志):我们可以使用`tail`命令:```bashtail-fapp.log```总结:1.打包应用(Maven/Gradle)2.运行jar包(`java-jar`)3.查看日志:直接看控制台,或者配置日志文件,或者重定向输出。注意:如果用户使用的是IDE(如IntelliJIDEA),可以直接在IDE中运行主类(带有`@SpringBootApplication`注解的类),然后在IDE的控制台查看日志。根据引用[^3],在Linux中以后台服务方式启动并查看滚动日志,我们可以提供更详细的说明。因此,回答将包括:-基本的启动和查看日志方法(控制台)-配置日志文件-后台运行和实时日志查看生成相关问题:1.如何配置SpringBoot的日志级别?2.如何在SpringBoot中自定义日志格式?3.如何将SpringBoot应用部署为Linux系统服务?注意:用户的问题是关于启动和查看日志,所以回答重点在此。</think>### 如何启动Spring Boot应用并查看启动日志 #### 一、启动Spring Boot应用 1. **开发环境启动(IDE)** 在IntelliJ IDEA或Eclipse中: - 打开主启动类(标注`@SpringBootApplication`的类) - 右键选择`Run`,控制台将自动输出日志 2. **命令行启动** ```bash # 打包应用(Maven项目) mvn clean package # 启动jar包(日志输出到控制台) java -jar target/your-app-name.jar ``` 3. **后台运行并保存日志(Linux)** ```bash nohup java -jar your-app.jar > app.log 2>&1 & ``` - `> app.log`:重定向标准输出到文件 - `2>&1`:将错误输出合并到标准输出 - `&`:后台运行[^3] --- #### 二、查看启动日志 1. **实时查看滚动日志** ```bash tail -f app.log # 跟踪日志文件变化 ``` 2. **日志文件位置** - 默认路径:项目根目录的`logs`文件夹 - 自定义路径:在`application.properties`配置 ```properties logging.file.name=/var/log/myapp.log ``` 3. **日志级别控制** 在`application.properties`中调整日志级别: ```properties # 设置全局日志级别 logging.level.root=INFO # 设置特定包日志级别(如调试启动问题) logging.level.org.springframework=DEBUG ``` --- #### 三、关键日志解读 启动时关注以下日志条目: 1. **应用启动标志** ``` Started Application in 5.32 seconds (JVM running for 6.01) ``` 2. **端口监听信息** ``` Tomcat initialized with port(s): 8080 (http) ``` 3. **Bean加载异常** ``` *************************** APPLICATION FAILED TO START *************************** ``` --- #### 四、常见问题排查 - **端口冲突**: `Address already in use` → 修改`server.port=8081` - **依赖缺失**: `BeanCreationException` → 检查`pom.xml`依赖 - **配置错误**: `PropertySourceNotFoundException` → 验证`application.properties`语法 > ⚠️ 提示:启动失败时添加`--debug`参数获取详细诊断信息: > `java -jar your-app.jar --debug` --- ### 相关问题 1. 如何将Spring Boot应用配置为Linux系统服务? 2. 怎样自定义Spring Boot的日志格式和输出目标? 3. 启动时出现`UnsatisfiedDependencyException`错误该如何解决? 4. 如何实现日志文件的自动分割和归档? [^1]: 日志的核心作用是记录系统运行状态、错误信息和操作痕迹,便于故障排查和系统监控。 [^2]: 禁用持久化日志可提升启动速度,但会丢失历史日志,需根据场景权衡。 [^3]: 后台服务启动需配合日志重定向,否则输出可能丢失。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值