在Netbeans平台中,我让一个模块监视xml文件系统,并在其他模块更改时做出响应。
我在另一个模块中创建了一个layer.xml。当我在监视模块中单击XML层节点并打开时,这些更改会显示在IDE中。然而,在运行时,当监视模块查看xml文件系统时,其他模块的更改不存在。另一个模块可以在运行时看到自己的更改。
是否有一个模块的设置可以让其他模块看到它的xml层?
这是我在运行时用来检查xml文件系统的代码——它将所有节点的名称打印到一个文件中,当所有模块打开并运行时,我通过按钮触发它。
private void btn1ActionPerformed(java.awt.event.ActionEvent evt)
{
try {
BufferedWriter writer = Files.newBufferedWriter(Paths.get("filesystemOut.txt"), Charset.forName("UTF-8"));
exportFilesystem(FileUtil.getConfigRoot(), writer, 0);
writer.close();
} catch (IOException e) {
System.err.println("couldn't write filesystem structure");
}
}
void exportFilesystem(FileObject root, BufferedWriter writer, int depth) throws IOException
{
for (int i = 0; i < depth * 4; ++i)
{
writer.write(' ');
}
writer.write(root.getName());
writer.newLine();
FileObject[] children = root.getChildren();
for (FileObject child : children)
{
exportFilesystem(child, writer, depth + 1);
}
}
打开具有需要可见的xml层的模块的属性对话框。选择API Versioning
,然后在Public packages
下选择包含xml文件的包。单击OK
。