tomcat 7上的Solr安装错误(Solr installation error on tomcat 7)
我按照数字海洋文档中给出的所有步骤安装了tomcat 7,通过apt-get.tomcat安装了任何错误,并将我的端口更改为8181. https://www.digitalocean.com/community/articles/how-to-install -apache-tomcat-on-ubuntu-12-04但是当我安装solr时(按照本文档中给出的所有步骤,包括将jar文件复制到lib文件夹http://gregsomers.com/blog/2013/07/30/install- apache-solr-44-on-ubuntu-1204-with-tomcat-7-and-mysql-data-import )。
以下错误显示在日志文件和solr中没有开始。我是新手到solr和tomcat。 让我来看看这个错误意味着什么以及如何修复
Dec 19, 2013 3:18:20 AM org.apache.catalina.core.ApplicationContext log INFO: HTMLManager: start: Starting web application '/solr' Dec 19, 2013 3:18:20 AM org.apache.catalina.core.ApplicationContext log SEVERE: FAIL - Application at context path /solr could not be started org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([after_stop]) for component [org.apache.catalina.startup.FailedContext@425743] in state [FAILED] at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:408) at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:249) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:141) at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1247) at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:747) at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:222) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:194) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:701) Dec 19, 2013 3:18:20 AM org.apache.catalina.core.ApplicationContext log INFO: HTMLManager: list: Listing contexts for virtual host 'localhost'
i followed all steps given in digital ocean document and installed tomcat 7 through apt-get.tomcat installed with any errors and also changed my port to 8181. https://www.digitalocean.com/community/articles/how-to-install-apache-tomcat-on-ubuntu-12-04 but when i install solr ( followed all steps given in this document including copying jar files to lib folder http://gregsomers.com/blog/2013/07/30/install-apache-solr-44-on-ubuntu-1204-with-tomcat-7-and-mysql-data-import).
following errors shown in log files and solr is not getting started.Iam newbie to solr and tomcat. let me what this error means and how to fix
Dec 19, 2013 3:18:20 AM org.apache.catalina.core.ApplicationContext log INFO: HTMLManager: start: Starting web application '/solr' Dec 19, 2013 3:18:20 AM org.apache.catalina.core.ApplicationContext log SEVERE: FAIL - Application at context path /solr could not be started org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([after_stop]) for component [org.apache.catalina.startup.FailedContext@425743] in state [FAILED] at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:408) at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:249) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:141) at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1247) at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:747) at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:222) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:194) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:701) Dec 19, 2013 3:18:20 AM org.apache.catalina.core.ApplicationContext log INFO: HTMLManager: list: Listing contexts for virtual host 'localhost'
原文:https://stackoverflow.com/questions/20676704
最满意答案
能够通过让类实现ApplicationContextAware来解决它
public class ReloadConfig implements ApplicationContextAware{ private static Logger log = Logger.getLogger(ReloadConfig.class); private Config config; @Autowired ApplicationContext applicationContext; private ReloadConfig() { // Exists only to defeat instantiation. config = Config.getInstance(); } public void reloadIfNotLoaded() throws ConfigurationException{ CompositeConfiguration configuration = new CompositeConfiguration(); if(config.getHealthFile() == null){ log.info("Reloading Adding default properties found in config.properties"); configuration.addConfiguration(new PropertiesConfiguration("config.properties")); ConfigurableApplicationContext configurableApplicationContext = (ConfigurableApplicationContext)getApplicationContext(); configurableApplicationContext.refresh(); setApplicationContext(configurableApplicationContext); } } public void setApplicationContext(ApplicationContext context) throws BeansException { applicationContext = context; } public ApplicationContext getApplicationContext() { return applicationContext; }
Was able to solve it by having the class implement ApplicationContextAware
public class ReloadConfig implements ApplicationContextAware{ private static Logger log = Logger.getLogger(ReloadConfig.class); private Config config; @Autowired ApplicationContext applicationContext; private ReloadConfig() { // Exists only to defeat instantiation. config = Config.getInstance(); } public void reloadIfNotLoaded() throws ConfigurationException{ CompositeConfiguration configuration = new CompositeConfiguration(); if(config.getHealthFile() == null){ log.info("Reloading Adding default properties found in config.properties"); configuration.addConfiguration(new PropertiesConfiguration("config.properties")); ConfigurableApplicationContext configurableApplicationContext = (ConfigurableApplicationContext)getApplicationContext(); configurableApplicationContext.refresh(); setApplicationContext(configurableApplicationContext); } } public void setApplicationContext(ApplicationContext context) throws BeansException { applicationContext = context; } public ApplicationContext getApplicationContext() { return applicationContext; }
相关问答
更多-
是不是有一款什么手机软件,可以很自然的拉长腿部?不是美图秀秀,有知道的不?[2022-10-20]
spring -
春天的英语怎么读?[2022-05-21]
spring -
看起来我找到了解决方案。 因为我使用基于java的配置,所以它比你想象的更简单。 在xml中的替代方法是lookup-method,但是只能从4.1.X版本开始,因为它支持将参数传递给方法。 这是一个完整的工作示例: public class Container { private List
runtimeBeans = new ArrayList (); private RuntimeBeanFactory runtimeBeanFacto ... -
确保以下。 1) FormattingConversionServiceFactoryBean.java必须具有类型为project.formatter.DateFormatter名称formatters的属性。 2)重建您的项目,然后重新部署到服务器。 注意:只有当服务器找不到yourClass.class时才会发生java.lang.ClassNotFoundException 。 Make Sure Following. 1) FormattingConversionServiceFactoryBea ...
-
在没有重新启动应用程序服务器或运行时重新初始化spring bean(Re-Initialize spring beans without app server restart or at runtime)[2023-12-16]
能够通过让类实现ApplicationContextAware来解决它 public class ReloadConfig implements ApplicationContextAware{ private static Logger log = Logger.getLogger(ReloadConfig.class); private Config config; @Autowired ApplicationContext applicationContext; private Reload ... -
Beanshell或Groovy :-) 检查bean的实现类只是运行时使用Beanshell或Groovy可以做的许多很酷的事情之一。 免责声明:在生产机器上小心运行Beanshell或Groovy代码! 登录HAC,进入Console> Beanshell或Groovy 在Beanshell或Groovy中执行以下代码以获取实现类: de.hybris.platform.core.Registry.getApplicationContext()的getBean( “checkoutFacade”); 两 ...
-
可能是这样的 DefaultListableBeanFactory beanFactory = //get and store the factory somewhere MyBean newBean = new MyBean(); beanFactory.initializeBean(newBean,"TheBeanName"); //could be class' canonical name beanFactory.autowireBeanProperties(newBean, AutowireCa ...
-
Tomcat使用Spring和Axis2重新启动后,注入的bean为null(Injected beans are null after Tomcat restart with Spring and Axis2)[2022-10-28]
我找到了一个解决方案,但它并未涵盖所有情况。 将services.xml中的services.xml从application更改为request (或其他两个)可以解决看似有点逻辑的问题。 注意 :如果application范围是您真正需要的,则此修复程序不适用。 I found a solution, though, it does not cover all the range of situations. Changing the scope of the service in the service ... -
最后,我发现了什么问题。 我写下来以防万一有人可能遇到同样的问题: 我将ddbb中的数据保存到Service类的全局属性中。 并且getCalendarTableString()没有调用ddbb来将数据更新到属性中。 每次我在控制台场景中执行“算法”时,Java都是从头开始创建和实例化服务类,所以每次getCalendarTableString方法都获得了ddbb的全新快照。 但是当从Web应用程序调用时,如果我在让tomcat实例化类之后更改了ddbb中的一行,因为getCalendar认为数据应该存在于 ...
-
Spring Cloud Data Flow服务器在重新启动时取消注册所有应用程序(Spring Cloud Data Flow server unregister all apps on restart)[2023-03-23]
我假设您使用的本地服务器不适合生产使用。 默认情况下,本地服务器使用嵌入式数据库,这意味着默认情况下,应用程序和流定义等数据也不是持久性的。 您可以通过配置外部数据库使其保持持久性,如下所述: http : //docs.spring.io/spring-cloud-dataflow/docs/1.1.3.RELEASE/reference/htmlsingle/#configuration-rdbms I assume you are using the local server, which is no ...