2013-10-17 73 views
1

我無法啓動使用maven編譯的war文件。當我編譯沒有添加依賴項的應用程序時,它會正常啓動,但是在添加依賴項後,我得到以下錯誤。我正在使用以下開發環境的Windows 7,Java SE6,Maven 3.0.5。WAR文件不能在tomcat 7中啓動

這是Tomcat的7

Oct 16, 2013 4:56:34 PM org.apache.catalina.startup.ContextConfig processServletContainerInitializers 
SEVERE: Failed to process JAR found at URL [jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%207.0/webapps/F_Quote-1.0-SNAPSHOT/WEB-INF/lib/primefaces-3.4.jar!/] for ServletContainerInitializers for context with name [/F_Quote-1.0-SNAPSHOT] 
Oct 16, 2013 4:56:34 PM org.apache.catalina.startup.ContextConfig configureStart 
SEVERE: Marking this application unavailable due to previous error(s) 
Oct 16, 2013 4:56:34 PM org.apache.catalina.startup.TldConfig tldScanJar 
WARNING: Failed to process JAR [jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%207.0/webapps/F_Quote-1.0-SNAPSHOT/WEB-INF/lib/primefaces-3.4.jar!/] for TLD files 
java.util.zip.ZipException: invalid CEN header (bad signature) 

下產生的錯誤是我的pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<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"> 
<modelVersion>4.0.0</modelVersion> 
    <groupId>com.farchis</groupId> 
    <artifactId>F_Quote</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <name>Farchis Estimator</name> 

    <repositories> 
    <repository> 
     <id>prime-repo</id> 
     <name>PrimeFaces Maven Repository</name> 
     <url>http://repository.primefaces.org</url> 
    </repository> 
    </repositories> 

    <dependencies> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>4.3.0.Beta4</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>5.0.1.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.8.2</version> 
     <scope>test</scope>  
    </dependency> 
    <dependency> 
     <groupId>org.springframework.webflow</groupId> 
     <artifactId>spring-webflow</artifactId> 
     <version>2.3.2.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-orm</artifactId> 
     <version>3.2.4.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>com.oracle</groupId> 
     <artifactId>ojdbc14</artifactId> 
     <version>10.2.0.1.0</version> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.17</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.facelets</groupId> 
     <artifactId>jsf-facelets</artifactId> 
     <version>1.1.14</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.faces</groupId> 
     <artifactId>jsf-impl</artifactId> 
     <version>2.2.3</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.faces</groupId> 
     <artifactId>jsf-api</artifactId> 
     <version>2.2.3</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-dbcp</groupId> 
     <artifactId>commons-dbcp</artifactId> 
     <version>20030825.184428</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-log4j12</artifactId> 
     <version>1.7.5</version> 
    </dependency> 
    <!-- 
     The JSP/Servlet API libraries are appserver implementation dependent and belongs 
     in case of Tomcat 6 in the Tomcat/lib folder and should in no way be moved 
     nor duplicated somewhere else 
     bug fix add <scope>provided</scope> 
    --> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>javax.servlet-api</artifactId> 
     <version>3.1.0</version> 
     <scope>provided</scope>   
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-tx</artifactId> 
     <version>3.2.4.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>xml-apis</groupId> 
     <artifactId>xml-apis</artifactId> 
     <version>2.0.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-web</artifactId> 
     <version>3.1.4.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-config</artifactId> 
     <version>3.1.4.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.primefaces</groupId> 
     <artifactId>primefaces</artifactId> 
     <version>3.4</version> 
    </dependency> 
    <dependency> 
     <groupId>cglib</groupId> 
     <artifactId>cglib</artifactId> 
     <version>3.0</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>4.2.6.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.webflow</groupId> 
     <artifactId>spring-faces</artifactId> 
     <version>2.3.1.RELEASE</version> 
    </dependency> 
    </dependencies> 
</project> 
+0

請檢查類似的問題[這裏] [1] [1]:http://stackoverflow.com/questions/5453263/compile-error-in-maven2-invalid-cen-header-bad簽名 – AValchev

+0

使用Java SE 7.使用primefaces 3.5或至少3.4.2。 – 2013-10-17 07:03:18

回答

1

在WAR文件中添加依賴關係後,會出現問題。因此,您可以從local repository刪除所有這些依賴關係,然後重新生成JAR文件。

而你仍然面臨一些問題,然後一旦嘗試使用Tomcat 6.0。以前我也遇到過這個問題,我改變了我的Tomcat,它對我來說工作得很好。

0

如果仍然卡住,嘗試使用Tomcat 6次以及!

+0

是這個答案嗎?你可以在評論中寫下這樣的建議。請通過http://stackoverflow.com/help/how-to-answer –

+0

檢查評論\t Lutz Horn它只是一個小建議。不是問題的確切答案。 –

+0

我使用了tomcat 6,現在工作。非常感謝你們。 – user2357566