Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么';这是为Jenkins工作流/管道创建可序列化Groovy类的语法_Java_Jenkins_Groovy_Serializable - Fatal编程技术网

Java 什么';这是为Jenkins工作流/管道创建可序列化Groovy类的语法

Java 什么';这是为Jenkins工作流/管道创建可序列化Groovy类的语法,java,jenkins,groovy,serializable,Java,Jenkins,Groovy,Serializable,在使用Jenkins Workflow Groovy时,我在尝试为一个死气沉沉的简单类创建对象时遇到了序列化错误。通过可序列化测试需要什么样的语法糖?以下代码失败。添加@Serializable行失败,原因是“class java.io.Serializable不是@java.io.Serializable中的注释” 伊泽基尔回答了这个问题,这是值得赞扬的 class TestClass implements Serializable {} 值得一提的是,Groovy类不需要显式实现Seria

在使用Jenkins Workflow Groovy时,我在尝试为一个死气沉沉的简单类创建对象时遇到了序列化错误。通过可序列化测试需要什么样的语法糖?以下代码失败。添加@Serializable行失败,原因是“class java.io.Serializable不是@java.io.Serializable中的注释”


伊泽基尔回答了这个问题,这是值得赞扬的

class TestClass implements Serializable {}

值得一提的是,Groovy类不需要显式实现
Serializable
接口——任何Groovy类都实现以下两个接口:
Serializable
GroovyObject

但是,在Groovy CPS和Jenkins工作流CPS库中有一个类似于问题中提到的。它在groovycps:1.20和工作流cps:2.41中得到了修复

另一方面,使用
Class.newInstance()
不是在Jenkins管道中初始化对象的推荐方法。默认情况下,此方法被列入黑名单,当您尝试批准它时,Jenkins警告您,批准此签名可能会引入安全漏洞


如果您查看
Class.newInstance()
方法实现,就会发现它疯狂地使用反射。在这种情况下,最好使用
newtestclass()
而不是
TestClass.newInstance()
实例化对象。

Serializable是一个接口,而不是注释。您应该只实现它
类TestClass implements Serializable
应该做到这一点。
class TestClass implements Serializable {}