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