小编Sur*_*ran的帖子

Spring boot 2.6.0 创建名为“webSecurityConfig”的 bean 时出错

我无法将我的 Spring Boot 应用程序从 2.5.7 更新到 2.6.0。它抛出以下错误。

2021-12-07T08:40:22,311 ERROR [restartedMain] o.s.b.SpringApplication.reportFailure:819|| Application run failed org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'webSecurityConfig': 
The requested bean is currently in creation: Is there an unresolvable circular reference?
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.beforeSingletonCreation(DefaultSingletonBeanRegistry.java:355)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:227)
Run Code Online (Sandbox Code Playgroud)

从 spring-boot 2.6.0 发行说明中可以清楚地看出,循环引用被禁用。并且可以通过属性重新启用它spring.main.allow-circular-references = true。但我想首先修复循环引用。谁能帮我解决这个问题?请找到下面的WebSecurityConfig类,

2021-12-07T08:40:22,311 ERROR [restartedMain] o.s.b.SpringApplication.reportFailure:819|| Application run failed org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'webSecurityConfig': 
The requested bean is currently in creation: Is there an unresolvable circular reference?
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.beforeSingletonCreation(DefaultSingletonBeanRegistry.java:355)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:227)
Run Code Online (Sandbox Code Playgroud)

我的代码是开源的,可以在 …

java spring-security spring-boot

8
推荐指数
1
解决办法
7259
查看次数

找不到SourceSetOutput.getClassesDir的gradle5声纳故障

我在gradle 5上运行声纳曲时出现错误,我得到的错误是

What went wrong:
 org.gradle.api.tasks.SourceSetOutput.getClassesDir()Ljava/io/File;


Try:
Run with --info or --debug option to get more log output. Run with     --scan to get full insights.

Exception is:
java.lang.NoSuchMethodError:        
    org.gradle.api.tasks.SourceSetOutput.getClassesDir()Ljava/io/File;
at    org.sonarqube.gradle.SonarQubePlugin.configureSourceDirsAndJavaClasspath(SonarQubePlugin.java:169)
at    org.sonarqube.gradle.SonarQubePlugin.lambda$configureForJava$1(SonarQubePlugin.java:104)
Run Code Online (Sandbox Code Playgroud)

我尝试将gradle版本降级到4.0,并发现了问题,现在它正在显示

:sonarqube
Gradle now uses separate output directories for each JVM language, but this build assumes a single directory for all classes from a source set. This behaviour has been deprecated and is scheduled to be removed in Gradle 5.0
    at     org.gradle.api.internal.tasks.DefaultSourceSetOutput.getClassesDir(DefaultSourceSetOutput.java:79)
at    org.gradle.api.internal.tasks.DefaultSourceSetOutput_Decorated.getClassesDir(Unknown Source)
at  org.sonarqube.gradle.SonarQubePlugin.configureSourceDirsAndJavaClasspath(SonarQubePlugin.java:169) …
Run Code Online (Sandbox Code Playgroud)

gradle sonarqube

7
推荐指数
1
解决办法
2525
查看次数

测试期间gradle跳过jacoco

我有一个测试任务间歇性失败的问题(我怀疑这是因为jacoco在测试期间触发了[生成报告])。

有没有一种方法可以在测试过程中禁用jacoco的运行?我可以创建一个仅用于生成覆盖率报告的新任务(我也想知道该怎么做)。在很多情况下,我在运行测试任务时实际上并不需要测试覆盖率报告。

gradle jacoco

5
推荐指数
2
解决办法
3245
查看次数

bash 删除重复的键值并保留顺序

我有 2 个文件需要合并并生成第 3 个文件。请在下面找到示例,

文件 1

xab=p11
aab=p12
aac=p23
xac=p15
yab=p16
Run Code Online (Sandbox Code Playgroud)

档案 2

aab=p17
xac=p25
yyc=p22
Run Code Online (Sandbox Code Playgroud)

我想保留第一个文件的顺序并附加第二个文件。结果应该是:

文件 3

xab=p11
aab=p17
aac=p23
xac=p25
yab=p16
yyc=p22
Run Code Online (Sandbox Code Playgroud)

我尝试了很多方法,但无法获得更简单、易于理解的解决方案。我在 StackOverflow 中找到的那个是有效的,但很难理解并向第三者解释。我找到的解决方案是

cat en_us.txt en_US2.txt | tr -s '\n' | awk -F= '!a[$1]{b[++i]=$1} {a[$1]=$0;} END{for(j=1;j<=i;j++){print a[b[j]]}}'
Run Code Online (Sandbox Code Playgroud)

任何人都可以尝试这个并获得一个可读的解决方案(可能没有使用awk

bash awk

1
推荐指数
1
解决办法
242
查看次数

标签 统计

gradle ×2

awk ×1

bash ×1

jacoco ×1

java ×1

sonarqube ×1

spring-boot ×1

spring-security ×1