libdbus-java - CreateInterface falha com [Fatal Error] introspect.dtd: 1: 3:

0

Eu estou olhando para escrever algum script utilitário com groovy que faz uso de dbus. De acordo com a documentação em CreateInterface , o seguinte comando deve gerar uma fonte java arquivo para o objeto apropriado.

CreateInterface --session  org.freedesktop.Notifications /org/freedesktop/Notifications

Mas não importa qual interface eu escolher para gerar o arquivo de origem, o comando falha com

> [Fatal Error] introspect.dtd:1:3: The markup declarations contained or pointed to by the document type declaration must be well-formed.
Exception in thread "main" org.xml.sax.SAXParseExceptionpublicId: -//freedesktop//DTD D-BUS Object Introspection 1.0//EN; systemId: http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd; lineNumber: 1; columnNumber: 3; The markup declarations contained or pointed to by the document type declaration must be well-formed.
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257)
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
    at org.freedesktop.dbus.bin.CreateInterface.createInterface(CreateInterface.java:702)
    at org.freedesktop.dbus.bin.CreateInterface.main(CreateInterface.java:685)

Isso acontece em 16.04 e 16.10. Eu não tentei outras versões do Ubuntu. Alguém sabe se esse utilitário está quebrado ou se estou fazendo algo errado?

    
por mxc 15.02.2017 / 08:09

1 resposta

0

Basta executar o seguinte:

gdbus introspect --session --dest org.freedesktop.Notifications --object-path /org/freedesktop/Notifications --xml | sed -e '/DOCTYPE/d' -e '/introspect.dtd/d' > org.freedesktop.Notifications.xml
CreateInterface --system --create-files org.freedesktop.Notifications.xml
    
por Florian 25.10.2017 / 18:29