Java 如何在aem中将文本内容保存为jcr:data属性?

Java 如何在aem中将文本内容保存为jcr:data属性?,java,groovy,osgi,aem,Java,Groovy,Osgi,Aem,我有一个包含大量文本的节点,这些文本作为jcr:data属性存储。我可以通过以下groovy代码从中读取并在控制台中显示: 现在我想更改文本中的一些字符,并将其重新设置为jcr:data属性。我试着做: ValueFactory factory = session.getValueFactory() InputStream is = new ByteArrayInputStream(Charset.forName("UTF-8") .encode(con

我有一个包含大量文本的节点,这些文本作为jcr:data属性存储。我可以通过以下groovy代码从中读取并在控制台中显示:

现在我想更改文本中的一些字符,并将其重新设置为jcr:data属性。我试着做:

ValueFactory factory = session.getValueFactory()
InputStream is = new ByteArrayInputStream(Charset.forName("UTF-8")
                     .encode(content.text.replaceAll("xx", "yy").array())
Binary binary = factory.createBinary(is)
Value value = factory.createValue(binary)
node.setProperty("jcr:data", value)
但这带来了一个错误:

unexpected token: Binary

您记得导入javax.jcr.Binary吗


Esit:您之前缺少一个括号。数组

是的,我已导入此。。。但是它仍然没有看到二进制文件。。。但也许还有其他方法可以将我自己的内容写入jcr:data,而不是使用二进制?嘿,伙计,在array完成这个技巧之后,缺少了括号,谢谢你注意到了!
unexpected token: Binary