gpt4 book ai didi

java - Spring 1.5.9 升级到 2.0.1 后出现错误 : cannot find symbol Logger logger = Logger. getLogger(this.getClass().getName())

转载 作者:行者123 更新时间:2023-12-01 19:53:56 31 4
gpt4 key购买 nike

我已更改 Gradle 构建脚本以使用 Spring 2.0.1 而不是 1.5.9。当我运行 gradle build 时,出现错误:找不到符号 Logger logger = Logger.getLogger(this.getClass().getName())。它与之前的 Spring Boot 版本配合得很好。代码使用import org.apache.log4j.Logger;。如何解决这个问题?

build.gradle 文件:

buildscript {
ext {
springBootVersion = '2.0.1.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'jacoco'
apply plugin: 'war'

sourceCompatibility = 1.8

repositories {
mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
}

bootRun {
sourceResources sourceSets.main
}

sourceSets {
main {
java {
srcDirs = ["src/main/java", "src/generated/main/java"]
}
}
}

dependencies {

compile("org.springframework.boot:spring-boot-starter-web") {
exclude module: "spring-boot-starter-tomcat"
}

providedRuntime group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat'

compile 'org.springframework.boot:spring-boot-starter-actuator'
compile 'org.springframework.boot:spring-boot-starter'
compile 'org.springframework.boot:spring-boot-starter-data-jpa'
compile 'org.springframework.boot:spring-boot-starter-velocity:1.4.7.RELEASE'

compile 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
compile 'com.ryantenney.metrics:metrics-spring:3.1.3'

compile 'com.github.ben-manes.caffeine:caffeine:2.6.2'
compile 'org.hibernate:hibernate-java8'
compile 'org.postgresql:postgresql'
compile 'org.apache.commons:commons-lang3:3.5'
compile 'commons-codec:commons-codec:1.9'
compile 'io.springfox:springfox-swagger2:2.6.1'
compile 'io.springfox:springfox-swagger-ui:2.6.1'
compile 'javax.mail:mail:1.4.7'
compile 'org.imgscalr:imgscalr-lib:4.2'
compile 'com.restfb:restfb:1.37.0'
compile 'com.google.apis:google-api-services-oauth2:v2-rev134-1.23.0'
compile 'eu.bitwalker:UserAgentUtils:1.19'
compile 'com.twilio.sdk:twilio:7.17.+'

testCompile('com.h2database:h2')
testCompile("org.springframework.boot:spring-boot-starter-test")

compile fileTree(dir: 'libs', include: '*.jar')
}

最佳答案

默认情况下,Spring boot提供了Logback和SLF4J来进行日志记录,如the documentation中提到的。但是,您可以通过包含以下依赖项将 logback 替换为 log4j:

  • log4j 1.x spring-boot-starter-log4j
  • log4j 2.x spring-boot-starter-log4j2

但是,对 log4j 1.x 的支持已被删除 since Spring boot 1.4.x ,因为 Apache 也不再支持它:

Log4j 1 support has been removed following Apache EOL announcement.

您仍然可以手动添加所有依赖项,但由于您没有这些依赖项,这可能就是它不再工作的原因(也许这些库之一以前使用过 log4j)。您必须添加以下依赖项:

compile 'org.slf4j:slf4j-log4j12:1.7.25'
compile 'org.slf4j:jul-to-slf4j:1.7.25'
compile 'org.slf4j:jcl-over-slf4j:1.7.25'
compile 'log4j:log4j:1.2.17'

您还必须排除 spring-boot-starter-logging,如 this answer 中所述。 ,您可以通过添加以下配置来做到这一点:

configurations {
compile.exclude module: 'spring-boot-starter-logging'
}
<小时/>

但是,建议将 SLF4J 与 Logback 结合使用,或将 SLF4J 与 log4j2 结合使用。

关于java - Spring 1.5.9 升级到 2.0.1 后出现错误 : cannot find symbol Logger logger = Logger. getLogger(this.getClass().getName()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50253257/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com