带有CDI的Tomcat:在部署时具有相同的项目和不同的结果

时间:2015-11-13 00:22:01

标签: tomcat cdi

我在使用JSF(CDI / Weld)启动Tomcat时遇到了一些问题。最大的问题是,在工作中,同样的项目在家里开始,但它不会初始化。

今天我复制了功能工作日志(Linux with Java 8),以便与我在家的日志(Windows 8和Java 8)进行比较,并与它进行比较:console log at home and at work请注意" Home Log"中的第210行,Tomcat在/ docs文件夹中部署了一些应用程序,但是在"工作日志"他投入/主持人经理。

我使用Maven和Git来促进档案的重复使用,因此,基本上,它是我工作站的同一个项目(两个项目都是最后一次提交)。

  • JSF版本2.3.0-m04
  • 焊接版3.0.0.Alpha1
  • Omnifaces版本2.1
  • Apache Tomcat版本8.0.28

这是我的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
version="2.5">
  <display-name>sgcp</display-name>
  <welcome-file-list>
    <welcome-file>login.xhtml</welcome-file>
  </welcome-file-list>
  <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>

context.xml

<Context>
    <Manager pathname="" />
    <Resource name="BeanManager" 
        auth="Container"
        type="javax.enterprise.inject.spi.BeanManager"
        factory="org.jboss.weld.resources.ManagerObjectFactory" />
</Context>

和文件夹结构

folder structure.png

1 个答案:

答案 0 :(得分:2)

总结一下评论中的讨论:事实证明这个问题是由一个非常不稳定的焊接版本引起的。

BTW:我个人不建议使用不稳定的焊接版本。因为稳定版本已经有足够的错误。