2012-04-16 137 views
1

,我在这里做示例应用程序https://github.com/heroku/devcenter-embedded-tomcatHeroku的示例应用程序错误

我一直在使用“MVN包”运行应用程序,当我使用“sh的目标/斌/ web应用程序运行该脚本的版本是success..but “然后我得到以下error.Sir请help..thanks

C:\Documents and Settings\srinivasa\Documents\workspace-sts-2.9.0.RELEASE\sriniv as>sh target/bin/webapp Exception in thread "main" java.lang.NoClassDefFoundError: launch/Main Caused by: java.lang.ClassNotFoundException: launch.Main at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) Could not find the main class: launch.Main. Program will exit.

@詹姆斯先生请你帮助我得到这个错误

C:\Documents and Settings\srinivasa\Documents\workspace-sts-2.9.0.RELEASE\testhe 
roku\target\bin>webapp.bat 
configuring app with basedir: C:\Documents and Settings\srinivasa\Documents\work 
space-sts-2.9.0.RELEASE\testheroku\target\bin\.\src\main\webapp 
Apr 16, 2012 8:12:01 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-bio-8080"] 
Apr 16, 2012 8:12:01 PM org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Tomcat 
Apr 16, 2012 8:12:01 PM org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/7.0.22 
Apr 16, 2012 8:12:01 PM org.apache.catalina.core.StandardContext resourcesStart 
SEVERE: Error starting static Resources 
java.lang.IllegalArgumentException: Document base C:\Documents and Settings\srin 
ivasa\Documents\workspace-sts-2.9.0.RELEASE\testheroku\target\bin\src\main\webap 
p does not exist or is not a readable directory 
     at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext. 
java:140) 

先生我的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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.heroku.sample</groupId> 
    <artifactId>embeddedTomcatSample</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <name>embeddedTomcatSample Maven Webapp</name> 
    <url>http://maven.apache.org</url> 
    <dependencies> 
    <dependency> 
     <groupId>org.apache.tomcat.embed</groupId> 
     <artifactId>tomcat-embed-core</artifactId> 
     <version>7.0.22</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tomcat.embed</groupId> 
     <artifactId>tomcat-embed-logging-juli</artifactId> 
     <version>7.0.22</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tomcat.embed</groupId> 
     <artifactId>tomcat-embed-jasper</artifactId> 
     <version>7.0.22</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tomcat</groupId> 
     <artifactId>tomcat-jasper</artifactId> 
     <version>7.0.22</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tomcat</groupId> 
     <artifactId>tomcat-jasper-el</artifactId> 
     <version>7.0.22</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tomcat</groupId> 
     <artifactId>tomcat-jsp-api</artifactId> 
     <version>7.0.22</version> 
    </dependency> 
    </dependencies> 
    <build> 
    <finalName>embeddedTomcatSample</finalName> 
    <plugins> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>appassembler-maven-plugin</artifactId> 
      <version>1.1.1</version> 
      <configuration> 
       <assembleDirectory>target</assembleDirectory> 
       <programs> 
        <program> 
         <mainClass>main.java.launch.Main</mainClass> 
         <name>webapp</name> 
        </program> 
       </programs> 
      </configuration> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>assemble</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
    </build> 
</project> 

和我一样使用Main.java,HelloServlet.java,index.jsp的

回答

0

的JVM告诉你它找不到类launch.Main。您需要设置的类路径JVM找到它:

java -cp <f> launch.Main 

其中<f>是路径到包含启动目录(例如,目标/箱)

+0

Thank you sir..am going in the right way..please help..first am new project as“dynamic web project”in my spring source tool suite ..然后我只有'src'文件夹..i没有得到这些文件夹“src/main/java/launch”..我需要手动创建这些文件夹?? ..请帮助这是正确的方式? – user1160126 2012-04-16 06:29:50

+0

我不熟悉春天,但源文件夹应该是好的(源代码编译好,你有一个运行时错误) – Attila 2012-04-16 06:51:14

+0

先生在同一个应用程序在pom.xml ..这些都显示..我可以得到这些文件?请帮我 com.heroku.sample embeddedTomcatSample 1.0快照 embeddedTomcatSample的Maven的webapp http://maven.apache.org <依赖性> org.apache。 tomcat.embed user1160126 2012-04-16 07:40:33

4

在Windows上,你需要运行的文件夹:

target\bin\webapp.bat 
+0

先生。请仔细查看我的更新代码。 – user1160126 2012-04-16 14:45:49

+0

::: term web:sh target/bin/webapp ..... sir如何在windows中创建一个procfile? procfile是一个类文件或它正是请求帮助 – user1160126 2012-04-16 15:09:07

+2

@ user1160126 - 从目录'C:\ Documents and Settings \ srinivasa \ Documents \ workspace-sts-2.9.0.RELEASE \ run'运行'target \ bin \ webapp.bat'。 testheroku',而不是来自目标/ bin目录的'webapp.bat' – Attila 2012-04-16 15:20:28

0

不知道,如果你还在乎这个,但是你做的事:

set REPO=%UserProfile%\.m2\repository 

? appassembler生成的target/bin/webapp脚本依赖于该环境变量。