2011-12-01 88 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」這將打印幫助,它將顯示您應該提供的各種選項和操作組合,然後執行所有適當的參數設置。當你有更多的數據/錯誤時再次發佈 –