首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java不提取war文件,并在windows上部署时抛出异常

Java不提取war文件,并在windows上部署时抛出异常
EN

Stack Overflow用户
提问于 2018-08-31 11:27:46
回答 1查看 311关注 0票数 1

我使用eclipse在centos上构建了.war文件,然后在centos(Linux)上的tomcat8.5上部署了它。它正在处理这个问题。但是,当我在windows上部署相同的".war“或构建一个新的".war”文件时,它并没有在Tomcat8.5上工作,而是抛出BeansInCreation异常。具有相同的Java1.7和Tomcat8.5版本的windows7.,该构建还在windows上工作(在更新之前),并且在最新的代码中没有做任何重大更改。

以下是localhost的日志:

代码语言:javascript
复制
Caused by: org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name '': Bean with name '' has been injected into other beans ['','',''] in its raw version as part of a circular reference, but has eventually been wrapped (for example as part of auto-proxy creation). This means that said other beans do not use the final version of the bean. This is often the result of over-eager type matching - consider using 'getBeanNamesOfType' with the 'allowEagerInit' flag turned off, for example.
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:268)
... 98 more

我认为问题可能是“大文件路径”,因为Linux支持更大的文件路径,而不是windows。我在regedit中也做了修改以支持,但这不需要改变。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-31 11:35:51

如果它在linux上工作,而在windows上不起作用,那么我假设在部署war时会出现类加载问题(类的顺序)。我建议检查/lib文件中的.war目录。

也许它包含来自同一个jar的不同版本。

编辑:

您可以在linux和windows上跟踪tomcat (或任何java应用程序)的类加载。为此,您需要使用一个特殊的vm参数(-verbose:class)启动它。看看这里:Java verbose class loading

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52114494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档