小编Rob*_*pek的帖子

为什么zsh不能执行命令compdef?

我已经在 Ubuntu 18.04 上安装了 zsh 和 oh my zsh。我想对 kubectl 使用自动完成功能。因此我已经添加source <(kubectl completion zsh)到我的 ~/.zshrc 文件中。

执行此脚本时,zsh 收到以下错误:

complete:13: command not found: compdef
Run Code Online (Sandbox Code Playgroud)

kubectl 文档指出,当出现上述错误时,您应该将以下内容放在 .zshrc 文件的顶部:

autoload -Uz compinit
compinit
Run Code Online (Sandbox Code Playgroud)

执行此操作并重新启动终端后,我收到相同的错误。

在 git-issue 中,我发现以下内容对遇到常见问题的人有所帮助:

#This will perform chmod g-w for each file returned by compaudit to remove write access for group
compaudit | xargs -I % chmod g-w "%"
#This will perform chown to current user (Windows and Linux) for each file returned by compaudit
compaudit | …
Run Code Online (Sandbox Code Playgroud)

zsh kubectl ubuntu-18.04

12
推荐指数
4
解决办法
1万
查看次数

键名中带破折号的 JSON 响应

我在休息时使用假装。不幸的是,我得到的其中一个回复看起来像这样:

{
    "customer-id" : "0123"
}
Run Code Online (Sandbox Code Playgroud)

JSON 响应会自动映射到我的 POJO 之一。此响应对象不能具有名称为“customer-id”的属性字段,因为标识符名称中不允许使用破折号 (-)。

我尝试了以下方法:

public class LookUpAccountsResponse {
        @JsonProperty("customer-id")
        private String customerId;
}
Run Code Online (Sandbox Code Playgroud)

但不幸的是,这不起作用。有没有人有关于如何解决这个问题的建议?

java json response jackson netflix-feign

8
推荐指数
2
解决办法
8244
查看次数

多重约束弹簧验证

我正在使用 spring 来验证表单。表单的模型类似于:

public class FormModel {

    @NotBlank
    private String name;

    @NotNull
    @ImageSizeConstraint
    private MultipartFile image;

}
Run Code Online (Sandbox Code Playgroud)

'@ImageSizeConstraint' 是一个自定义约束。我想要的是首先评估@NotNull,如果评估结果为false,则不评估@ImageSizeConstraint。

如果这是不可能的,我还必须检查自定义约束中的 null。这不是问题,但我想分开关注(不是空/图像大小/图像/纵横比/等)。

java spring-validator

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

Quarkus 应用程序的 @Async 等效项是什么?

在一个类中,我想调用一个方法,但不必等到该方法完成。通常在 Spring 应用程序中我会使用 @Async,但是在 Quarkus 应用程序中该怎么做呢?

下面是一个简单的入门示例。在“StartWork”类中,“Work”开始。(我省略了工作接口,但您可以看到它的实现之一:WorkA)。调用“work.do()”后,startWork() 方法应继续执行,而无需等待 work.do() 完成。

@ApplicationScoped
public class WorkA implements Work {
    public void do() {
        System.out.println("Starting work A.");
        try {
            Thread.sleep(1000l);
            System.out.println("Finished work A.");
        } catch(InterruptedException ex) {
            System.out.println("My work got interrupted.");
        }
    }
}

@ApplicationScoped
public class StartWork {

@Inject
Work work;

    public void startWork() {
        work.do();
        System.out.println("I dont' care when and if the work finished, but it has started.");
    }
}
Run Code Online (Sandbox Code Playgroud)

这是相同的示例,但现在我尝试使用 Mutiny:

@ApplicationScoped
public class WorkA implements Work {
    public void …
Run Code Online (Sandbox Code Playgroud)

multithreading asynchronous quarkus

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

您可以在某个步骤中同时使用 @Given 和 @And 吗?

我有几个共享步骤定义的测试。例如:

Scenario: test1
  Given that the sky is blue
  And that the sun is up
  When I go outside
  Then I might get a sunburn

Scenario: test2
  Given that the sun is up
  When I go outside
  Then it will be light
Run Code Online (Sandbox Code Playgroud)

“太阳升起”和“鉴于太阳升起”这两个步骤在实施上是相同的。

我想要的是这样的:

@And("that the sun is up")
@Given("that the sun is up")
public void thatTheSunIsUp() {
    // Do some fancy and sunny things.
}
Run Code Online (Sandbox Code Playgroud)

不幸的是这不起作用。我如何才能实现相同的目标,而无需使用相同步骤的重复方法?

java cucumber gherkin

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

如何指示 Mapstruct 使用 lombok 构建器?

当我尝试使用私有默认构造函数但使用(lombok 生成的)构建器映射对象时,MapStruct 无法创建实现。

SomeMapperImpl.java:[20,27] SomeDto() 在 com.example.mapstructdemo.dto.SomeDto 中不是公开的;无法从外部包访问

到:

@Value
@Builder
public class SomeDto {
}
Run Code Online (Sandbox Code Playgroud)

模型:

@Value
@Builder
public class SomeModel {
}
Run Code Online (Sandbox Code Playgroud)

映射器接口:

@Mapper
public interface SomeMapper {
    SomeDto map(SomeModel someModel);
    SomeModel map(SomeDto someDto);
}
Run Code Online (Sandbox Code Playgroud)

来自 Pom.xml 的片段:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${compiler-plugin.version}</version>
        <configuration>
            <annotationProcessorPaths>
                <path>
                    <groupId>org.projectlombok</groupId>
                    <artifactId>lombok</artifactId>
                    <version>1.18.16</version>
                </path>
                <path>
                    <groupId>org.projectlombok</groupId>
                    <artifactId>lombok-mapstruct-binding</artifactId>
                    <version>0.2.0</version>
                </path>
                <path>
                    <groupId>org.mapstruct</groupId>
                    <artifactId>mapstruct-processor</artifactId>
                    <version>1.4.1.Final</version>
                </path>
            </annotationProcessorPaths>
        </configuration>
    </plugin>
Run Code Online (Sandbox Code Playgroud)

生成的实现:

@Generated(
    value = "org.mapstruct.ap.MappingProcessor",
    date = "2021-01-29T13:47:46+0100",
    comments = "version: 1.4.1.Final, compiler: javac, environment: Java …
Run Code Online (Sandbox Code Playgroud)

java lombok mapstruct

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