2014-12-04 105 views
1

真是一個美好的一天,不是嗎?Spring Boot - 應用程序未能以類路徑啓動

我希望這個社區的某個人能幫助我。

的Tomcat版本7, Servlet API的3.0

我喜歡用一個.war開始我春季啓動項目在Tomcat。我的繼承人彈簧引導應用的代碼:

主類

@Configuration 
@EnableAutoConfiguration 
@ComponentScan(basePackages = "com.###.dashboard") 
@EnableJpaRepositories 
@EntityScan(basePackages = "com.###.dashboard.domain") 
public class Dashboard extends SpringBootServletInitializer { 

    public static void main(String[] args) { 
     SpringApplication.run(new Object[] {Dashboard.class}, args);  
    } 

    @Override 
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { 
     return application.sources(Dashboard.class); 
    } 


} 

POM的Tomcat /彈簧引導的

<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.###.dashboard</groupId> 
    <artifactId>Dashboard</artifactId> 
    <packaging>war</packaging> 
    <version>1.0</version> 
    <name>Dashboard</name> 
    <url>http://maven.apache.org</url> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.1.8.RELEASE</version> 
    </parent> 

    <dependencies> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-mobile</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-thymeleaf</artifactId> 
     </dependency> 


     <dependency> 
      <groupId>com.h2database</groupId> 
      <artifactId>h2</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.data</groupId> 
      <artifactId>spring-data-commons</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-data-jpa</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-tomcat</artifactId> 
      <scope>provided</scope> 
     </dependency>  

    </dependencies> 

    <properties> 
     <start-class>com.###.dashboard.main.Dashboard</start-class> 
    </properties> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 


     </plugins> 
    </build> 

</project> 

錯誤消息

2014-12-04 13:32:18.878 INFO 198588 --- [   main] .b.l.ClasspathLoggingApplicationListener : Application failed to start 
with classpath: [file:/../tomcat7/webapps/dashboard/WEB-INF/classes/, ..path to libs, list of all jar files in folder libs.. 
2014-12-04 13:32:19.091 INFO 198588 --- [   main] ationConfigEmbeddedWebApplicationContext : Closing org.springframework. 
boot[email protected]61f0fe81: startup date [Thu Dec 04 13:32:15 CET 2014]; root of 
context hierarchy 
java.lang.reflect.InvocationTargetException 
     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:606) 
     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:303) 
     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431) 
Caused by: java.lang.OutOfMemoryError: PermGen space 

我需要設置類路徑嗎?我以爲我不需要設置任何.xml文件。

謝謝!

+2

** java.lang.OutOfMemoryError:PermGen space ** - 您需要爲運行Tomcat的JVM分配更多內存。搜索這個錯誤,我相信你會找到答案 – 2014-12-04 13:29:29

回答

-1

此錯誤背後的原因之一是該端口已被分配給其他人。您可以通過更改端口地址來測試它。只需在資源目錄下添加一個application.propeties。然後添加以下內容 server.port:9000 //您可以編寫任何您想要的端口

相關問題