Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven Tomee7.0.5-正确排除JSF2.2JAR并包括JSF2.3JAR_Maven_Jsf_Tomee 7 - Fatal编程技术网

Maven Tomee7.0.5-正确排除JSF2.2JAR并包括JSF2.3JAR

Maven Tomee7.0.5-正确排除JSF2.2JAR并包括JSF2.3JAR,maven,jsf,tomee-7,Maven,Jsf,Tomee 7,如何防止Tomee提供JSF2.2JAR并确保使用JSF2.3JAR 这是maven配置问题还是缺少依赖项问题或其他问题 启动时的Tomcat服务器日志包括警告: WARNING: You are using the library: myfaces-impl in different versions; first (and probably used) version is: 2.2.12 loaded from: file:/path/to/Apache/TomEE/apache-tome

如何防止Tomee提供JSF2.2JAR并确保使用JSF2.3JAR

这是maven配置问题还是缺少依赖项问题或其他问题

启动时的Tomcat服务器日志包括警告:

WARNING: You are using the library: myfaces-impl in different versions; first (and probably used) version is: 2.2.12 loaded from: file:/path/to/Apache/TomEE/apache-tomee-plus-7.0.5/lib/myfaces-api-2.2.12.jar, but also found the following versions: 2.3.2 loaded from: file:/path/to/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp3/wtpwebapps/ProjectName/WEB-INF/lib/myfaces-api-2.3.2.jar
然后,在服务器日志中找不到TomcatAnnotationLifecycleProvider的正确构造函数

    SEVERE: org.apache.myfaces.config.annotation.TomcatAnnotationLifecycleProvider
java.lang.InstantiationException: org.apache.myfaces.config.annotation.TomcatAnnotationLifecycleProvider
    at java.lang.Class.newInstance(Class.java:427)
    at org.apache.myfaces.shared.util.ClassUtils.newInstance(ClassUtils.java:426)
    at org.apache.myfaces.config.annotation.DefaultLifecycleProviderFactory.createClass(DefaultLifecycleProviderFactory.java:256)
    at org.apache.myfaces.config.annotation.DefaultLifecycleProviderFactory.resolveLifecycleProviderFromService(DefaultLifecycleProviderFactory.java:203)
    at org.apache.myfaces.config.annotation.DefaultLifecycleProviderFactory.getLifecycleProvider(DefaultLifecycleProviderFactory.java:86)
    at org.apache.myfaces.config.FacesConfigurator.configureManagedBeanDestroyer(FacesConfigurator.java:1522)
    at org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:618)
    at org.apache.myfaces.webapp.AbstractFacesInitializer.buildConfiguration(AbstractFacesInitializer.java:465)
    at org.apache.myfaces.webapp.Jsp21FacesInitializer.initContainerIntegration(Jsp21FacesInitializer.java:70)
    at org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:189)
    at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:103)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4790)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5256)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1421)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1411)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoSuchMethodException: org.apache.myfaces.config.annotation.TomcatAnnotationLifecycleProvider.<init>()
    at java.lang.Class.getConstructor0(Class.java:3082)
    at java.lang.Class.newInstance(Class.java:412)
    ... 19 more
SEVERE:org.apache.myfaces.config.annotation.TomcatAnnotationLifecycleProvider
java.lang.InstanceException:org.apache.myfaces.config.annotation.TomcatAnnotationLifecycleProvider
位于java.lang.Class.newInstance(Class.java:427)
位于org.apache.myfaces.shared.util.ClassUtils.newInstance(ClassUtils.java:426)
位于org.apache.myfaces.config.annotation.DefaultLifecycleProviderFactory.createClass(DefaultLifecycleProviderFactory.java:256)
位于org.apache.myfaces.config.annotation.DefaultLifecycleProviderFactory.resolveLifecycleProviderFromService(DefaultLifecycleProviderFactory.java:203)
位于org.apache.myfaces.config.annotation.DefaultLifecycleProviderFactory.getLifecycleProvider(DefaultLifecycleProviderFactory.java:86)
位于org.apache.myfaces.config.FacesConfigurator.configureManagedBeanDestroyer(FacesConfigurator.java:1522)
位于org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:618)
位于org.apache.myfaces.webapp.AbstractFacessinitializer.buildConfiguration(AbstractFacessinitializer.java:465)
位于org.apache.myfaces.webapp.Jsp21FacesInitializer.initcontainerinintegration(Jsp21FacesInitializer.java:70)
位于org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:189)
位于org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:103)
位于org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4790)
位于org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5256)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
位于org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1421)
位于org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1411)
在java.util.concurrent.FutureTask.run(FutureTask.java:266)处
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
运行(Thread.java:748)
原因:java.lang.NoSuchMethodException:org.apache.myfaces.config.annotation.TomcatAnnotationLifecycleProvider。()
位于java.lang.Class.getConstructor0(Class.java:3082)
位于java.lang.Class.newInstance(Class.java:412)
... 还有19个
pom.xml如下所示:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<dependencies>  
<dependency>
    <groupId>org.apache.myfaces.core</groupId>
    <artifactId>myfaces-impl</artifactId>
    <version>2.3.2</version>
</dependency>
<dependency>
    <groupId>org.apache.myfaces.core</groupId>
    <artifactId>myfaces-api</artifactId>
    <version>2.3.2</version>
</dependency>
</dependencies>   

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.0.0</version>
        <configuration>
          <warSourceDirectory>WebContent</warSourceDirectory>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>

org.apache.myfaces.core
MyFacesImpl
2.3.2
org.apache.myfaces.core
MyFacesAPI
2.3.2
maven编译器插件
3.7.0
1.8
1.8
maven战争插件
3.0.0
网络内容
我添加了一个faces-config.xml。这是完整的文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<faces-config
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_3.xsd"
    version="2.3">

    <!-- Config here. -->
</faces-config>

这是行不通的,因为TomEE集成只针对MyFaces 2.2软件包和SPI。在2.3开发期间,我们对MyFaces代码库进行了一些重构。我不认为你能让它100%运行


但是,您可以升级到TomEE 8.0.0.M1,它已经集成了MyFaces 2.3。

这不起作用,因为TomEE集成只针对MyFaces 2.2软件包和SPI。在2.3开发期间,我们对MyFaces代码库进行了一些重构。我不认为你能让它100%运行

不过,您可以升级到TomEE 8.0.0.M1,它已经集成了MyFaces 2.3