JCRExportCommand execute() 在 magnolia cms 中抛出异常错误
Posted
技术标签:
【中文标题】JCRExportCommand execute() 在 magnolia cms 中抛出异常错误【英文标题】:JCRExportCommand execute() throws exception error in magnolia cms 【发布时间】:2019-12-02 11:37:17 【问题描述】:我想在我的本地文件夹中为我执行自定义操作的节点创建一个 YAML 导出文件。下面的代码给了我 NullPointerException:
java.lang.NullPointerException at java.util.Hashtable.get(Hashtable.java:364)
info.magnolia.repository.WorkspaceMapping.getWorkspaceMapping(WorkspaceMapping.java:124)
info.magnolia.repository.DefaultRepositoryManager.getSession(DefaultRepositoryManager.java:308)
info.magnolia.context.DefaultRepositoryStrategy.internalGetSession(DefaultRepositoryStrategy.java:61)
info.magnolia.context.AbstractRepositoryStrategy.getSession(AbstractRepositoryStrategy.java:75) info.magnolia.context.AbstractContext.getJCRSession(AbstractContext.java:124) info.magnolia.importexport.command.JcrExportCommand.execute(JcrExportCommand.java:117)
ch.xxx.module.versioning.MyAction.execute(MyAction.java:60)
public class MyAction extends AbstractMultiItemAction<xxxVersioning>
public MyAction(xxxVersioning definition, JcrItemAdapter item, UiContext uiContext)
super(definition, item, uiContext);
// TODO Auto-generated constructor stub
@Override
public void execute()
//export nodes from a JCR workspace
JcrExportCommand exporter = new JcrExportCommand();
//sets export format to yaml
exporter.setFormat("yaml");
//setup the root directory for exports
File rootDir = new File("/Users/asusti/Downloads/yamlExport");
// clean up first
rootDir.delete();
rootDir.mkdirs();
//get root node
Node node = (Node) getItems().get(0).getJcrItem();
try
exporter.setPath(node.getPath());
File file = new File(rootDir+node.getName()+".yaml");
FileOutputStream out = new FileOutputStream(file);
exporter.setOutputStream(out);
exporter.execute(MgnlContext.getInstance());
catch (Exception e)
// TODO Auto-generated catch block
e.printStackTrace();
在执行之前,我是否必须为导出器设置一些其他方法?
【问题讨论】:
【参考方案1】:您必须通过JcrExportCommand#setRepository()
设置要导出的工作区的名称。例如
exporter.setRepository("website");
导出网站工作区。
【讨论】:
以上是关于JCRExportCommand execute() 在 magnolia cms 中抛出异常错误的主要内容,如果未能解决你的问题,请参考以下文章
警告:PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number: parame