2012-07-03 3 views
0

tomahawk를 실행하는 데 많은 어려움이 있습니다. 나는 전에 새로운 프로젝트를 만들기 위해 myfaces hellworld20 archetype을 사용했다. 이제 저는 tomahawk를 사용하여 그것을 확장하고 싶었습니다. 새로운 pom.xml 파일은 다음과 같습니다Tomcat 7에 배포 된 Myfaces, Facelets, Tomahawk 및 Maven이 실패합니다.

<properties> 
    <jsf-myfaces.version>2.1.8</jsf-myfaces.version> 
</properties> 
<build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.2</version> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
    <!-- To use the plugin goals in your POM or parent POM --> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
     </plugin> 
    </plugins> 
</build> 

<!-- Project dependencies --> 
<dependencies> 
    <dependency> 
     <groupId>${project.groupId}</groupId> 
     <artifactId>commons</artifactId> 
     <version>${project.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>${project.groupId}</groupId> 
     <artifactId>configuration</artifactId> 
     <version>${project.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>${project.groupId}</groupId> 
     <artifactId>application</artifactId> 
     <version>${project.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.geronimo.specs</groupId> 
     <artifactId>geronimo-servlet_2.5_spec</artifactId> 
     <version>1.2</version> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.geronimo.specs</groupId> 
     <artifactId>geronimo-el_2.2_spec</artifactId> 
     <version>1.0.2</version> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.geronimo.specs</groupId> 
     <artifactId>geronimo-annotation_1.0_spec</artifactId> 
     <version>1.1.1</version> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.myfaces.core</groupId> 
     <artifactId>myfaces-api</artifactId> 
     <version>${jsf-myfaces.version}</version> 
     <scope>compile</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.myfaces.core</groupId> 
     <artifactId>myfaces-impl</artifactId> 
     <version>${jsf-myfaces.version}</version> 
     <scope>compile</scope> 
    </dependency> 

    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
     <version>1.2</version> 
     <scope>runtime</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.myfaces.tomahawk</groupId> 
     <artifactId>tomahawk20</artifactId> 
     <version>1.1.13</version> 
     <scope>compile</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.apache.myfaces.tomahawk</groupId> 
     <artifactId>tomahawk-sandbox</artifactId> 
     <version>1.1.6</version> 
     <scope>compile</scope> 
    </dependency> 

    <dependency> 
     <groupId>com.google.code.tomahawk</groupId> 
     <artifactId>tomahawk-facelets</artifactId> 
     <version>1.1.6.3</version> 
     <exclusions> 
      <exclusion> 
       <groupId>com.sun.facelets</groupId> 
       <artifactId>jsf-facelets</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>javax.servlet</groupId> 
       <artifactId>jstl</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>org.apache.myfaces.tomahawk</groupId> 
       <artifactId>tomahawk</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>org.apache.myfaces.tomahawk</groupId> 
       <artifactId>tomahawk-sandbox</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

    <dependency> 
     <groupId>com.sun.facelets</groupId> 
     <artifactId>jsf-facelets</artifactId> 
     <version>1.1.13</version> 
    </dependency> 

</dependencies> 

<profiles> 
    <profile> 
     <id>bundle-myfaces</id> 
     <activation> 
      <property> 
       <name>jsf</name> 
       <value>myfaces</value> 
      </property> 
     </activation> 
     <!-- Include MyFaces jars into the war --> 
     <dependencies> 
      <dependency> 
       <groupId>org.apache.myfaces.core</groupId> 
       <artifactId>myfaces-api</artifactId> 
       <version>${jsf-myfaces.version}</version> 
       <scope>compile</scope> 
      </dependency> 
      <dependency> 
       <groupId>org.apache.myfaces.core</groupId> 
       <artifactId>myfaces-impl</artifactId> 
       <version>${jsf-myfaces.version}</version> 
       <scope>runtime</scope> 
      </dependency> 
     </dependencies> 
    </profile> 

    <profile> 
     <id>maven-tomcat7</id> 
     <activation> 
      <property> 
       <name>container</name> 
       <value>tomcat7</value> 
      </property> 
     </activation> 
     <build> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.tomcat.maven</groupId> 
        <artifactId>tomcat7-maven-plugin</artifactId> 
        <version>2.0</version> 
       </plugin> 
       <plugin> 
        <groupId>org.codehaus.mojo</groupId> 
        <artifactId>aspectj-maven-plugin</artifactId> 
        <version>1.3</version> 
        <executions> 
         <execution> 
          <goals> 
           <goal>compile</goal><!-- to weave all your main classes --> 
           <goal>test-compile</goal><!-- to weave all your test classes --> 
          </goals> 
         </execution> 
        </executions> 
        <configuration> 
         <aspectLibraries> 
          <aspectLibrary> 
           <groupId>${project.groupId}</groupId> 
           <artifactId>configuration</artifactId> 
          </aspectLibrary> 
         </aspectLibraries> 
         <sources> 
          <source> 
           <basedir>src/main/java</basedir> 
           <includes> 
            <include>**/*.aj</include> 
           </includes> 
          </source> 
         </sources> 
         <source>1.5</source> 
         <target>1.5</target> 
         <encoding>utf-8</encoding> 
         <complianceLevel>1.5</complianceLevel> 
         <verbose>true</verbose> 
         <showWeaveInfo>true</showWeaveInfo> 
        </configuration> 
       </plugin> 
      </plugins> 

      <pluginManagement> 
       <plugins> 
        <!--This plugin's configuration is used to store Eclipse m2e settings 
         only. It has no influence on the Maven build itself. --> 
        <plugin> 
         <groupId>org.eclipse.m2e</groupId> 
         <artifactId>lifecycle-mapping</artifactId> 
         <version>1.0.0</version> 
         <configuration> 
          <lifecycleMappingMetadata> 
           <pluginExecutions> 
            <pluginExecution> 
             <pluginExecutionFilter> 
              <groupId>org.codehaus.mojo</groupId> 
              <artifactId> 
               aspectj-maven-plugin 
              </artifactId> 
              <versionRange> 
               [1.3,) 
              </versionRange> 
              <goals> 
               <goal>compile</goal> 
               <goal>test-compile</goal> 
              </goals> 
             </pluginExecutionFilter> 
             <action> 
              <ignore></ignore> 
             </action> 
            </pluginExecution> 
           </pluginExecutions> 
          </lifecycleMappingMetadata> 
         </configuration> 
        </plugin> 
       </plugins> 
      </pluginManagement> 
     </build> 
     <dependencies> 
      <dependency> 
       <groupId>org.apache.myfaces.core</groupId> 
       <artifactId>myfaces-api</artifactId> 
       <version>${jsf-myfaces.version}</version> 
       <scope>compile</scope> 
      </dependency> 
      <dependency> 
       <groupId>org.apache.myfaces.core</groupId> 
       <artifactId>myfaces-impl</artifactId> 
       <version>${jsf-myfaces.version}</version> 
       <scope>runtime</scope> 
      </dependency> 
     </dependencies> 
    </profile> 

</profiles> 
<repositories> 
    <repository> 
     <releases> 
      <enabled>true</enabled> 
      <updatePolicy>always</updatePolicy> 
      <checksumPolicy>warn</checksumPolicy> 
     </releases> 
     <snapshots> 
      <enabled>false</enabled> 
      <updatePolicy>never</updatePolicy> 
      <checksumPolicy>fail</checksumPolicy> 
     </snapshots> 
     <id>Tomahawk-Facelets</id> 
     <name>Tomahawk-Facelets releases</name> 
     <url>http://tomahawk-facelets.googlecode.com/svn/maven2/repository</url> 
     <layout>default</layout> 
    </repository> 
</repositories> 

을 최대한 빨리 모든 토마 호크 관련 종속성을 주석으로, tomhawk 관련 태그가 작동하지 않는 것 같습니다하지만 서버가 제대로 배포합니다. 나는 그것을 언급하지 않는 경우

나는 오류 메시지가 다음과 같이 얻을 : 나는 시간이 지금은 태그와 관련된 페이지의 톤을 방문해 검색 한

Jul 03, 2012 3:07:00 AM org.apache.catalina.startup.Embedded start 
Information: Starting tomcat server 
Jul 03, 2012 3:07:00 AM org.apache.catalina.core.StandardEngine start 
Information: Starting Servlet Engine: Apache Tomcat/6.0.29 
Jul 03, 2012 3:07:01 AM org.apache.myfaces.config.DefaultFacesConfigurationProvider getStandardFacesConfig 
Information: Reading standard config META-INF/standard-faces-config.xml 
Jul 03, 2012 3:07:01 AM org.apache.myfaces.config.DefaultFacesConfigurationProvider getWebAppFacesConfig 
Information: Reading config /WEB-INF/faces-config.xml 
Jul 03, 2012 3:07:02 AM org.apache.myfaces.config.DefaultFacesConfigurationProvider getClassloaderFacesConfig 
Information: Reading config : jar:file:/E:/Users/Andreas/Dropbox/Studium/4.Semester/Software-Projekt/Marx1/trunk/deliverable3/parent/webui/target/webui-0.0.1/WEB-INF/lib/jsf-facelets-1.1.13.jar!/META-INF/faces-config.xml 
Jul 03, 2012 3:07:02 AM org.apache.myfaces.webapp.AbstractFacesInitializer initFaces 
Schwerwiegend: An error occured while initializing MyFaces: java.lang.NullPointerException 
javax.faces.FacesException: java.lang.NullPointerException 
    at org.apache.myfaces.config.DefaultFacesConfigurationProvider.getClassloaderFacesConfig(DefaultFacesConfigurationProvider.java:279) 
    at org.apache.myfaces.config.DefaultFacesConfigurationMerger.getFacesConfigData(DefaultFacesConfigurationMerger.java:101) 
    at org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:416) 
    at org.apache.myfaces.webapp.AbstractFacesInitializer.buildConfiguration(AbstractFacesInitializer.java:338) 
    at org.apache.myfaces.webapp.Jsp21FacesInitializer.initContainerIntegration(Jsp21FacesInitializer.java:73) 
    at org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:140) 
    at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:119) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:785) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445) 
    at org.apache.catalina.startup.Embedded.start(Embedded.java:825) 
    at org.codehaus.mojo.tomcat.AbstractRunMojo.startContainer(AbstractRunMojo.java:558) 
    at org.codehaus.mojo.tomcat.AbstractRunMojo.execute(AbstractRunMojo.java:255) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:534) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
Caused by: java.lang.NullPointerException 
    at com.bluecast.xml.Piccolo.addAttributeDefinition(Piccolo.java:1167) 
    at com.bluecast.xml.Piccolo.yyparse(Piccolo.java:1699) 
    at com.bluecast.xml.Piccolo.parse(Piccolo.java:702) 
    at org.apache.commons.digester.Digester.parse(Digester.java:1745) 
    at org.apache.myfaces.config.impl.digester.DigesterFacesConfigUnmarshallerImpl.getFacesConfig(DigesterFacesConfigUnmarshallerImpl.java:309) 
    at org.apache.myfaces.config.impl.digester.DigesterFacesConfigUnmarshallerImpl.getFacesConfig(DigesterFacesConfigUnmarshallerImpl.java:36) 
    at org.apache.myfaces.config.DefaultFacesConfigurationProvider.getClassloaderFacesConfig(DefaultFacesConfigurationProvider.java:265) 
    ... 36 more 
Jul 03, 2012 3:07:02 AM org.apache.catalina.core.ApplicationContext log 
Schwerwiegend: StandardWrapper.Throwable 
java.lang.IllegalStateException: No Factories configured for this Application. This happens if the faces-initialization does not work at all - make sure that you properly include all configuration settings necessary for a basic faces application and that all the necessary libs are included. Also check the logging output of your web application and your container for any exceptions! 
If you did that and find nothing, the mistake might be due to the fact that you use some special web-containers which do not support registering context-listeners via TLD files and a context listener is not setup in your web.xml. 
A typical config looks like this; 
<listener> 
    <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class> 
</listener> 

, 받는다는 tomhawk, Facelets의를. 그러나 나는 여기서 내가 묻는 해결책을 찾지 않는 것 같다. 어쩌면 그것은 사소한 것이고 심지어 명백 할 수도 있지만 이것이 작동하지 않는 이유에 대한 답을 찾을 수는 없습니다.

+0

그래서 저는 꽤 많은 시간 동안 놀았습니다 ... tomahawk-sandbox12를 maven 의존성으로 사용하려고 시도했지만 작동합니다. 이제는 태그를 렌더링하지 않습니다. – saenridanra

답변

0

나는 그렇게 생각하지 않습니다. tomahawk-sandbox는 JSF 1.1/1.2 전용이므로 tomahawk-sandbox 1.1.6은 tomahawk20 1.1.13과 함께 사용할 수 없습니다. 또한 JSF 구현,이 경우 JSF 2.0/2.1 구현 (이 경우에는 MyFaces Core)에 이미 jax 내부에 Facelet이 있으므로 com.sun.facelets이 필요하지 않습니다. com.google.code.tomahawk를 사용하지 마십시오. facelets 지원이 오래 전에 tomahawk에 추가되었습니다. 먼저 tomahawk20 1.1.13을 추가하십시오.이 작업은 종속성으로 추가 한 다음 샌드 박스를 추가 할 수는 있지만 샌드 박스가 릴리스되지 않으므로 수동으로 소스 코드에서 빌드하거나 snapshot repo에서 가져와야합니다.

+0

답장을 보내 주셔서 감사합니다. 그러나 나는 포기했습니다. 어쩌면 당신이 제공하는 솔루션이 작동 할 것입니다, 그것은 다른 사람이 결정할 수있는 것입니다. 저는 primefaces로 바꿨습니다. 저는 그렇게 해 줬기 때문에 매우 기쁩니다. 그것은 myfaces와 완벽하게 잘 작동하고 결과는 정말 좋습니다. 고맙습니다. – saenridanra

관련 문제