我正在开发一个自定义文档过滤器。到目前为止,我已经在eclipse中创建了一个项目,添加了必要的jar文件,并成功地使用自己的文档过滤器构建了一个jar文件。
让连接器找到类的步骤是什么
当在文件'connectorInstance.xml'
中配置文档过滤器时,出现了问题,似乎在类路径中找不到jar文件。。。
Java包具有以下类路径:
com.google.enterprise.connector.util.filter.DocFilterWildCardSearch
或者也尝试了以下路径
com.kapsch.gsa.filter.DocFilterWildCardSearch
我将'DocFilterWildCardSearch.jar'
文件复制到以下路径:
C:Program FilesGoogleConnectorsGSAConnectors1Tomcatwebappsconnector-managerWEB-INFlib
重新启动连接器并得到以下错误消息:
Nov 20, 2013 4:50:29 PM [Init] com.google.enterprise.connector.servlet.StartUp doStartup
SEVERE: Connector Manager Startup failed:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'DocumentFilters' defined in ServletContext resource [/WEB-INF/documentFilters.xml]: Cannot create inner bean 'asfsdf' of type [com.kapsch.gsa.filter.DocFilterWildCardSearch] while setting constructor argument with key [0]; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.kapsch.gsa.filter.DocFilterWildCardSearch] for bean with name 'asfsdf' defined in ServletContext resource [/WEB-INF/documentFilters.xml]; nested exception is java.lang.ClassNotFoundException: com.kapsch.gsa.filter.DocFilterWildCardSearch
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:230)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:117)
文档筛选器的配置文件:connectorInstance.xml
<?xml version="1.0"?>
<beans>
<bean class="com.example.connector.HelloWorldConnector" id="helloworld-connector"> </bean>
<bean class="com.google.enterprise.connector.util.filter.DocumentFilterChain" id="DocumentFilters">
<constructor-arg>
<list>
<bean class="com.kapsch.gsa.filter.DocFilterWildCardSearch" id="asfsdf">
<property value="Author" name="propertyName"/>
<property value="Roli" name="propertyValue"/>
<property value="false" name="overwrite"/>
</bean>
</list>
</constructor-arg>
</bean>
</beans>
您的设置应该在documentFilters.xml文件中,而不是连接器实例文件中。
谷歌在这里有一篇关于这个主题的支持文章。
看起来你正在尝试nGram。我已经有了一个过滤器,我一直想开源。如果你愿意,给我一张纸条。
最后,有传言说7.2有疯狂的梳理。我们不会确定,直到它出来。
您是否有可能将jar tf的输出包含在文档过滤器jar文件中?
Michael说得对,您可以在documentfilters.xml.