CQ5的QueryBuilder參考我聲明吊索的servlet像這樣在吊帶的Servlet
@Component(metatype = false)
@Service(Servlet.class)
@Properties({
@Property(name = "sling.servlet.paths", value = "/bin/foo/bar"),
@Property(name = "sling.servlet.methods", value = "POST") })
public class FooBarServlet extends SlingAllMethodsServlet {
...
}
我重寫的doPost像這樣
@Override
protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) throws IOException {
...
}
,我能夠從客戶端發佈。大!
我扔在以下
@Reference
private QueryBuilder queryBuilder;
按文檔,參考查詢建設者應注射。但似乎沒有。在日誌中我看到這個錯誤
bindQueryBuilder cannot be found (java.lang.VerifyError: ...
當我嘗試發佈到Servlet我得到這個
javax.jcr.RepositoryException: org.apache.sling.api.resource.PersistenceException: Resource at '/bin/foo/bar' is not modifiable.
而在OSGi控制檯我看到的是安裝在我的包,這是什麼不得不說我的小服務器
Service ID 3075 Types: javax.servlet.Servlet
Service PID: com.myproject.FooBarServlet
Component Name: com.myproject.FooBarServlet
Component ID: 5526
Vendor: Adobe
任何關於我在做什麼的錯誤?
嘗試使用更近[插件]的版本(http://mvnrepository.com/artifact/org.apache.felix/maven-scr-plugin/1.20.0 )和[註釋](http://mvnrepository.com/artifact/org.apache.felix/org.apache.felix.scr.annotations/1.9.8)。方法應該自動創建。 – 2014-09-23 06:29:00
@TomekRękawek,我更新了依賴關係並進行了更新。 – 2014-09-23 14:08:29
夥計們,你們發現問題的原因了嗎? – gstackoverflow 2014-09-23 17:51:43