2011-12-01 62 views
1

我从文档阅读,这可以通过如何在Google应用程序引擎java中清理索引?

./appengine-java-sdk/bin/appcfg.sh vacuum_indexes myapp/war 

进行,但是当我运行它,我得到一个错误消息说“无法打开文件”。我试着运行appcfg.cmd,但是然后我得到一个classNotFoundException。任何人都知道这是为什么?

我不能在appcfg中使用任何命令。这里是发生了什么的截图:

enter image description here

+0

从错误它不是很清楚。但是你的其他命令与appcfg工作正常吗?这将确认它能够正确识别目录和类。 –

+0

我已更新我的问题。希望现在更清楚。 – Emiam

回答

1

的appcfg.sh查找appengine-tools-api.jar具有com.google.appengine.tools.admin.AppCfg类。如果您在文本编辑器中查看sh文件,您会注意到它默认在lib目录中查找,该目录位于当前目录的父目录中(除非您已更改它)。那么你的“New javakod”目录是否有一个lib目录,它是否有上面提到的jar文件?或者编辑shell文件从classpath中获取jar文件,并确保将jar文件添加到类路径中。

您的第一个错误的原因是相同的,它无法找到索引xml文件在它正在寻找的位置。

+0

好吧,我纠正了这个错误,并将整个appengine-java-sdk-1.5.3放入我的Web2Test文件夹中。当我运行appcfg.sh vacuum_indexes战争时,我仍然收到错误:“无法打开文件appcfg.sh”。但是,当我跑appcfg.cmd vacuum_indexes战争,我没有得到任何错误。我没有收到任何消息说它也有效。什么都没发生。看着我的仪表板,带有错误的索引仍然存在。任何想法? – Emiam

+0

.sh文件将无法运行,因为您在Windows环境中。 appcfg.cmd是你需要使用的。我建议只运行“appcfg.cmd”这将打印帮助,它将显示您应该提供的各种选项和操作组合,然后执行所有适当的参数设置。当你有更多的数据/错误时再次发布 –

相关问题