自定义文档筛选器-启动连接器时出现ClassNotFoundException



我正在开发一个自定义文档过滤器。到目前为止,我已经在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.

中配置文档过滤器

最新更新