小编Sam*_*y65的帖子

如何配置sonar.junit.reportPaths

我曾多次尝试在 Gradle 中配置此 sonarqube 属性sonar.junit.reportPaths,但仍然收到相同的错误消息。
Gradle 版本 -> 6.7.1
SonarQube Server 版本 -> 8.9 (docker image)
Java 版本 -> openjdk 11.0.2
Intellij 版本 -> 2021.1.2
我的 Sonarqube Gradle 配置如下:

plugins {
    id 'java'
    id 'jacoco'
    id "org.sonarqube" version "3.3"
    id 'org.jetbrains.kotlin.jvm' version '1.5.20'
}
Run Code Online (Sandbox Code Playgroud)
sonarqube {
    properties {
        property 'sonar.projectName', 'Snippets of Java code'
        property 'sonar.junit.reportPaths', 'build/test-results/test'
        property 'sonar.coverage.jacoco.xmlReportPaths', 'build/reports/test/jacocoTestReport.xml'
        property 'sonar.inclusions', '*.java,*.kt'
    }
}

jacocoTestReport {
    reports {
        xml.required = true
        csv.required = false
    }
}
Run Code Online (Sandbox Code Playgroud)

我仍然收到以下消息: …

gradle sonarqube gradle-plugin java-11 jacoco-plugin

12
推荐指数
0
解决办法
6708
查看次数

java.lang.NoSuchMethodError:org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava / util / Properties

@Configuration
@EnableTransactionManagement
public class DataSourceConfig {

    @Bean(destroyMethod = "shutdown")
    public DataSource dataSource(){
        EmbeddedDatabaseBuilder databaseBuilder = new EmbeddedDatabaseBuilder();
        databaseBuilder.setType(EmbeddedDatabaseType.H2);
        databaseBuilder.addScript("classpath:db/migration/V1__Create_Books_Table.sql");
        databaseBuilder.addScript("classpath:db/migration/V2__Add_Books.sql");
        return databaseBuilder.build();
    }

    @Bean
    public JpaVendorAdapter vendorAdapter(){

        HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
        vendorAdapter.setGenerateDdl(true);
        vendorAdapter.setDatabase(Database.H2);
        vendorAdapter.setShowSql(true);
        vendorAdapter.setDatabasePlatform("org.hibernate.dialect.H2Dialect");
        return vendorAdapter;
    }

    @Bean(name = "entityManagerFactory")
    public EntityManagerFactory managerFactory(){
    Properties jpaProperties = new Properties();
    jpaProperties.put("hibernate.hbm2ddl.auto", "create-drop");

    LocalContainerEntityManagerFactoryBean managerFactoryBean = new LocalContainerEntityManagerFactoryBean();
    managerFactoryBean.setDataSource(dataSource());
    managerFactoryBean.setJpaVendorAdapter(vendorAdapter());
    managerFactoryBean.setPackagesToScan("com.sammy");
    managerFactoryBean.setJpaProperties(jpaProperties);
    managerFactoryBean.afterPropertiesSet();
    return managerFactoryBean.getObject();
}

    @Bean
    public PlatformTransactionManager transactionManager(){
        JpaTransactionManager transactionManager = new JpaTransactionManager();
        transactionManager.setEntityManagerFactory(managerFactory());
        return transactionManager;
    }
}
Run Code Online (Sandbox Code Playgroud)

那是我的配置类,我的gradle构建文件是 …

java orm hibernate jpa intellij-idea

7
推荐指数
2
解决办法
5470
查看次数

com.fasterxml.jackson.core.JsonGenerationException:无法写入字段名称,需要一个值

@NotNull
@JsonTypeInfo(
    use = JsonTypeInfo.Id.NAME,
    include = JsonTypeInfo.As.EXTERNAL_PROPERTY,
    property = "type")
@JsonSubTypes(value = {@JsonSubTypes.Type(value = SimpleGrantedAuthority.class)})
private List<GrantedAuthority> authorityList;
Run Code Online (Sandbox Code Playgroud)

以上是我的属性,它是用于设置/授权用户的 Spring Security 接口。在我的测试中,我使用下面的语句序列化为 JSON,因为它将是使用骆驼内容丰富器注入的 JSON 请求正文中的数组或列表。

String jsonObject =  mapper.writeValueAsString(accountDetails);
Run Code Online (Sandbox Code Playgroud)

由于上述行,我收到此错误:

com.fasterxml.jackson.core.JsonGenerationException: Can not write a field name, expecting a value

    at com.fasterxml.jackson.core.JsonGenerator._reportError(JsonGenerator.java:1897)
    at com.fasterxml.jackson.core.json.WriterBasedJsonGenerator.writeFieldName(WriterBasedJsonGenerator.java:126)
    at com.fasterxml.jackson.core.json.JsonGeneratorImpl.writeStringField(JsonGeneratorImpl.java:202)
    at com.fasterxml.jackson.databind.jsontype.impl.AsExternalTypeSerializer._writeObjectSuffix(AsExternalTypeSerializer.java:163)
    at com.fasterxml.jackson.databind.jsontype.impl.AsExternalTypeSerializer.writeTypeSuffixForObject(AsExternalTypeSerializer.java:88)
    at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeWithType(BeanSerializerBase.java:584)
    at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serializeContents(CollectionSerializer.java:151)
    at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:112)
    at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:25)
    at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:704)
    at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:690)
    at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155)
    at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:292)
    at com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:3681)
    at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:3057)
    at com.sammy.controller.HomeControllerTest.checkCreateUser(HomeControllerTest.java:74)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) …
Run Code Online (Sandbox Code Playgroud)

java junit spring-security jackson

6
推荐指数
2
解决办法
1万
查看次数

Hashicorp Vault 错误:检查密封状态时出错

我正在使用 Hashicorp 保险库生成自签名证书并成功生成 CA 证书,使用以下链接颁发 ca、ca-chain 和私钥: Policies , Build Your Certificate。我还可以.pem将证书、issuesCa、caChain 和 privateKey 文件的组合结果成功导入到 Java 密钥库中,keytool以获取.jks.
因此,我使用此命令成功启动了保险库vault server -config=config.hcl,输出如下:

==> Vault server configuration:

             Api Address: https://test.sammy.com:8200
                     Cgo: disabled
         Cluster Address: https://test.sammy.com:8201
              Listener 1: tcp (addr: "127.0.0.1:9000", cluster address: "127.0.0.1:9001", max_request_duration: "1m30s", max_request_size: "33554432", tls: "disabled")
              Listener 2: tcp (addr: "127.0.0.1:8200", cluster address: "127.0.0.1:8201", max_request_duration: "1m30s", max_request_size: "33554432", tls: "enabled")
               Log Level: info
                   Mlock: supported: true, enabled: true
           Recovery Mode: false …
Run Code Online (Sandbox Code Playgroud)

ssl keystore ssl-certificate spring-boot hashicorp-vault

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

Assertj 3.16.1 中是否弃用了方法“hasOnlyElementsOfType”

我有这段代码在更新到 Assertj 3.16.1 后不再有效

Throwable thrown = catchThrowable(() -> myObject.methodThrowsException());
assertThat(thrown).isInstanceOf(MyCustomException.class).extracting("fault").hasOnlyElementsOfType(CustomException.class).extracting("code").containsExactly("AnotherCustomException");
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

java:cannot find symbol
symbol: method hasOnlyElementsOfType(java.lang.Class<CustomException.class>)
location: class org.assertj.core.api.AbstractObjectAssert<capture#1 of?, capture#2 of ?>
Run Code Online (Sandbox Code Playgroud)

它要么已被弃用,要么现在以不同的方式实施。我已经浏览了文档并搜索了近两天,看看是否有任何关于如何使用它的信息,而不是以前如何使用它来实现轻松转换,但还没有找到任何东西。当我用它containsOnlyOnceElementsOf代替给出问题的那个时,我实际上得到了一个类似的错误。这些方法是否有其他替代方法可以实现相同的目的?

任何帮助将不胜感激!!!

java spring-test java-8 assertj junit5

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