2012-03-19 16 views
0

我使用MyEclipse创建了一个使用Maven支持的Web项目。有一个jsp文件index.jsp,所以我想运行该项目。对于这个 我启动了MyEclipse的tomcat服务器并在运行的服务器上部署了这个项目。如何使用Maven支持执行Web项目

当我执行它给了我下面的错误

SEVERE: Servlet.service() for servlet jsp threw exception 
java.lang.NullPointerException 
    at org.apache.jsp.index_jsp._jspInit(index_jsp.java:23) 
    at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52) 
    at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:159) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
    at java.lang.Thread.run(Thread.java:619) 

这是当我创建Maven项目,我也想使用maven在我的项目的第一次。任何形式的帮助都是可观的。

这是我的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"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>nmrk</groupId> 
    <artifactId>nmrk</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <name/> 
    <description/> 
    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <dependencies> 
    <dependency> 
     <groupId>org.glassfish</groupId> 
     <artifactId>bean-validator</artifactId> 
     <version>3.0-JBoss-4.0.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish</groupId> 
     <artifactId>javax.annotation</artifactId> 
     <version>3.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish</groupId> 
     <artifactId>javax.ejb</artifactId> 
     <version>3.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish</groupId> 
     <artifactId>javax.enterprise.deploy</artifactId> 
     <version>3.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish</groupId> 
     <artifactId>javax.jms</artifactId> 
     <version>3.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish</groupId> 
     <artifactId>javax.management.j2ee</artifactId> 
     <version>3.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.eclipse.persistence</groupId> 
     <artifactId>javax.persistence</artifactId> 
     <version>2.0.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish</groupId> 
     <artifactId>javax.resource</artifactId> 
     <version>3.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish</groupId> 
     <artifactId>javax.security.auth.message</artifactId> 
     <version>3.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish</groupId> 
     <artifactId>javax.security.jacc</artifactId> 
     <version>3.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish</groupId> 
     <artifactId>javax.servlet</artifactId> 
     <version>3.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish</groupId> 
     <artifactId>javax.servlet.jsp</artifactId> 
     <version>3.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish</groupId> 
     <artifactId>javax.servlet.jsp.jstl</artifactId> 
     <version>3.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish</groupId> 
     <artifactId>javax.transaction</artifactId> 
     <version>3.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.xml.bind</groupId> 
     <artifactId>jaxb-api-osgi</artifactId> 
     <version>2.2.1</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.ws.rs</groupId> 
     <artifactId>jsr311-api</artifactId> 
     <version>1.1.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish.web</groupId> 
     <artifactId>jstl-impl</artifactId> 
     <version>1.2</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.mail</groupId> 
     <artifactId>mail</artifactId> 
     <version>1.4.3</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.xml</groupId> 
     <artifactId>webservices-api-osgi</artifactId> 
     <version>2.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.weld</groupId> 
     <artifactId>weld-osgi-bundle</artifactId> 
     <version>1.0.1-SP3</version> 
    </dependency> 
    </dependencies> 
    <build> 
    <sourceDirectory>${basedir}/src</sourceDirectory> 
    <outputDirectory>${basedir}/WebRoot/WEB-INF/classes</outputDirectory> 
    <resources> 
     <resource> 
     <directory>${basedir}/src</directory> 
     <excludes> 
      <exclude>**/*.java</exclude> 
     </excludes> 
     </resource> 
    </resources> 
    <plugins> 
     <plugin> 
     <artifactId>maven-war-plugin</artifactId> 
     <configuration> 
      <webappDirectory>${basedir}/WebRoot</webappDirectory> 
      <warSourceDirectory>${basedir}/WebRoot</warSourceDirectory> 
     </configuration> 
     </plugin> 
     <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <configuration> 
      <source>1.6</source> 
      <target>1.6</target> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
</project> 
+0

我右键单击pom.xml并移动到运行配置。在这里,当我点击选择按钮来设置maven的目标,然后我在弹出窗口中找不到任何东西。请告诉我如何设置maven的目标? – 2012-03-19 10:56:35

+0

检查你在jsp文件里面做了什么......此外,如果你可以在这里提供pom.xml,这将是有帮助的... – khmarbaise 2012-03-19 20:42:57

回答

1

这发生在我身上了几次,我想通了,我的POM是包括一些库已经存在于Web容器[在这种情况下MyEclipse的Tomcat服务器],所以存在冲突。

应该做的诀窍是从pom中删除这些依赖关系[或将它们标记为“提供”],我不记得它们,而是几乎所有以javax开头的东西。