小编Szy*_*iak的帖子

Can not infer functional interface type in groupBy Java 8

I am not sure this has been answered earlier or not. Can anyone please tell me what is the problem with third groupBy which I've written ? Why it can not infer ?

class TestGroupBy
{
    enum LifeCycle {
        ANNUAL, PERENNIAL
    }

    private String name;
    private LifeCycle lifeCycle;

    TestGroupBy(String name, LifeCycle lifeCycle) {
        this.name = name;
        this.lifeCycle = lifeCycle;
    }

    LifeCycle getLifeCycle() {
        return this.lifeCycle;
    }

    static EnumMap mySupplier() {
        return new EnumMap(TestGroupBy.class);
    }

    public static void main(String[] args) { …
Run Code Online (Sandbox Code Playgroud)

java java-8 collectors

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

Spring Boot更改值属性文件

嗨,我正在使用弹簧靴.我想动态替换属性文件中变量的内容.

这是我的档案: message.properties

message=Welcome ${bean.name}  to my website
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何方法可以改变我的变量的值.谢谢

spring spring-boot

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

如何通过Java 8 Predicate仅过滤特定元素?

我收集List<Foo>Foo要素:

class Foo {
  private TypeEnum type;
  private int amount;

  //getters, setters ...
}
Run Code Online (Sandbox Code Playgroud)

Foo类型可以TypeEnum.ATypeEnum.B.

我想只Foo从列表中获取那些元素type == TypeEnum.B然后amount大于零(amount > 0)的元素.

我怎么能用Java 8 Streams filter()方法做到这一点?

如果我使用:

List<Foo> l = list.stream()
    .filter(i -> i.getType().equals(TypeEnum.B) && i.getAmount() > 0)
    .collect(Collectors.<Foo>toList());
Run Code Online (Sandbox Code Playgroud)

我得到了Foo元素,TypeEnum.B但没有TypeEnum.A.

java java-8 java-stream

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

如何将Spring Boot中的application.properties文件外部化为外部依赖JAR?

我有一个简单的Maven模块(不是Spring Boot应用程序),我放置了我的application.properties文件.

我有6-7个Spring Boot应用程序,我不想application.properties在每个应用程序目录中都有一个文件.我更喜欢它,如果它在一个地方(外部Maven模块).

我将maven模块添加为每个Spring Boot应用程序poms中的依赖项.

但是,当我运行这些应用程序时,它无法自动检测application.properties文件,因为它来自物理上不存在于每个应用程序目录中的依赖jar.

有没有办法让这成为可能?我想避免在6-7个不同的位置拥有属性文件,因为这很难管理和处理.

先感谢您!

java spring spring-boot

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

Spock Stub的泛型

我无法为泛型类编译Spock存根.构造函数的签名如下:

SomeClass(SerSup<Cap> capSup, String foo, String bar);
Run Code Online (Sandbox Code Playgroud)

我需要存根第一个参数.以下是我失败的尝试.

第一次尝试:

def someClass = new SomeClass(Stub(SerSup<Cap>), "foo", "bar")

Error: Groovyc: unexpected token: >
Status bar: ',' or ')' expected
Run Code Online (Sandbox Code Playgroud)

另一个尝试:

def someClass = new someClass(Stub(Cup) as SerSup<Cup>, "foo" ,"bar")

groovy.lang.MissingMethodException: No signature of method: com.sun.proxy.$Proxy10.get() is applicable for argument types: () values: []
Possible solutions: grep(), getAt(java.lang.String), grep(java.lang.Object), wait(), any(), wait(long)

at loom.SomeClass.SomeMethod(SomeClassTest.groovy:14)
Run Code Online (Sandbox Code Playgroud)

存根SomeClass构造函数的第一个参数的正确方法是什么?

java generics groovy unit-testing spock

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

在 groovy 中创建一个具有两个集合的地图 - 带有键和值

我有两个清单:

def ids = [1L, 2L, 3L]
def values = [11, 12, 13]
Run Code Online (Sandbox Code Playgroud)

我想创建一个HashMapwith idsas 键和valuesas 值。

我尝试使用transpose但坚持使用GroovyCastException

collections groovy hashmap

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

java.io.File.plus() 适用于参数类型: (java.lang.String) value: [\] in Ready API

我有以下 Groovy 脚本,我试图在其中获取目录名和文件名:

File dir = new File("C://Users//avidCoder//Project")
log.info dir //Fetching the directory path
String fileName = "Demo_Data" + ".json"
log.info fileName //Fetching the file name

String fullpath = dir + "\\" + fileName
log.info fullpath //Fetching the full path gives error
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时,出现以下异常:

“java.io.File.plus() 适用于参数类型”

为什么创建fullpath变量会抛出这个异常?

java groovy file ready-api

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

获取未知类型:在 Jenkins Pipeline 中导入 groovy

我正在尝试使用 groovy 创建一个 Jenkins 管道脚本。但是,该import语句给了我一个编译错误 - 未知类型:导入。不知道为什么。

截图附在此处

groovy devops jenkins-groovy

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

在声明性 Jenkins 管道中的环境变量中存储值列表

我有以下管道,但我不知道为什么它在第一行代码中失败:

pipeline {
    agent any
    environment {
        def mypods = []
    }
    stages {
        stage('Getting pods') {
            steps {
                script {
                   withKubeConfig(caCertificate: '.....', credentialsId: '.....', serverUrl: '.....') {
                       env.mypods = sh "kubectl get pod | grep Running | awk '{print \$1}'"
                    }
                }
            }
        }
        stage('Print pods') {
            steps {
                script {
                    mypods.each {
                        println "Item: $it"
                    }
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要使用一个列表,因为 kubectl get pods 命令返回一个 pod 列表,所以我必须在阶段中保存和使用它们。如何在声明性管道上创建列表?提前致谢。

这是错误:

Running in Durability level: MAX_SURVIVABILITY
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: …
Run Code Online (Sandbox Code Playgroud)

groovy kubernetes devops jenkins-pipeline

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

从Jenkinsfile中的函数调用阶段

我的Jenkinsfile中有:

def foo = ["1", "2", "3"]

def parallelStagesFromMap = foo.collectEntries {
    ["Build ${it}" : generateStage(it)]
}

def generateStage(bar) {
    return {
        stage("Build ${bar}") {
            echo "Building for ${bar}"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,我可以并行使用它们,parallel parallelStagesFromMap但是现在我要特别调用一个,例如:

generateStage("a") 只是被跳过了...我错过了什么吗?

groovy jenkins-pipeline

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