2016-10-04 32 views
2

我有一个Spring Boot应用程序,我们在我们的产品的一些小型服务器上安装该应用程序。它一直工作。今天晚上,我们已经将它安装在我们的一台服务器上,并没有启动。Spring引导应用程序无法启动

每台服务器都是来自一个共同映像的映像,所以操作系统是相同的。

当我们推出我们正在将.jar:

Oct 05, 2016 11:16:45 AM org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Tomcat 
Oct 05, 2016 11:16:45 AM org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/8.5.5 
Oct 05, 2016 11:16:46 AM org.apache.catalina.core.ApplicationContext log 
INFO: Initializing Spring embedded WebApplicationContext 
Oct 05, 2016 11:17:03 AM org.apache.catalina.core.StandardService stopInternal 
INFO: Stopping service Tomcat 

这是我们application.properties这对于休眠

# Username and password 
spring.datasource.username = parkuser 
spring.datasource.password = xxxxxxxxxxxxxxxxxxxxxx 
spring.datasource.url= jdbc:mysql://xxxxxxxxxxxxxxxxxxxxxxxxx:3306/SMARTPARK?useSSL=false 

# Keep the connection alive if idle for a long time (needed in production) 
spring.datasource.testWhileIdle = true 
spring.datasource.validationQuery = SELECT 1 
spring.jpa.show-sql = false 

# Hibernate ddl auto (create, create-drop, update): with "update" the database 
# schema will be automatically updated accordingly to java entities found in 
# the project 
spring.jpa.hibernate.ddl-auto = update 

# Naming strategy 
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy 

# Allows Hibernate to generate SQL optimized for a particular DBMS 
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQLDialect 
spring.jpa.properties.hibernate.current_session_context_class=org.springframework.orm.hibernate4.SpringSessionContext 

在我们的pom.xml中,我们有

<parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.4.1.RELEASE</version> 
    </parent> 
    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter</artifactId> 
      <exclusions> 
       <exclusion> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-logging</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-log4j</artifactId> 
      <version>1.3.8.RELEASE</version> 
     </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-jdbc</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-data-rest</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 

     </dependency> 

这是我们的StartServer.class

@SpringBootApplication 
@EnableScheduling 
public class StartServer extends SpringBootServletInitializer{ 
    public static void main(String[] args){ 

     SpringApplication.run(StartServer.class, args); 

    } 


    @Bean 
    public HibernateJpaSessionFactoryBean sessionFactory() { 
     return new HibernateJpaSessionFactoryBean(); 
    } 
} 

我无法理解为什么在一个设备中的同一个jar的作品,而在另一个人给这个错误,我不明白这是错误...

+0

此服务器是否具有与其他版本相同的Java版本?在pom中你有mysql连接器的依赖关系,但我认为它不能加载这个依赖关系,所以它不能确定连接哪个数据库。可能这种行为是由于java版本 – reos

+0

每台服务器都是由相同的映像制作的... – besmart

+0

是否存在连接到数据库的权限问题?用户名/密码或联网?由于连接无法工作,因此可能无法检测到几件事情。 – wemu

回答

0

我不是100%肯定,但我将不得不更换此:

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

利用该:

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

    <properties> 
     <java.version>1.8</java.version> 
    </properties> 

    <dependencies> 
... 
</dependencies> 

参见例如因此下面:

<groupId>org.springframework</groupId> 
    <artifactId>gs-relational-data-access</artifactId> 
    <version>0.1.0</version> 

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

    <properties> 
     .... 
    </properties> 

    <dependencies> 

     <dependency> 
      .... 
     </dependency> 

     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <version>[5,]</version> 
     </dependency> 
    </dependencies> 

否则,只是这样做:

<dependency> 
       <groupId>mysql</groupId> 
       <artifactId>mysql-connector-java</artifactId> 
       <version>your version</version> 
      </dependency> 
+0

你能够在这台服务器上运行一个简单的Spring启动应用程序吗?尝试其中一个可用的应用程序在这里:https://spring.io/guides –

+0

或开始赏金 –

0

我遇到了同样的问题。然后清理我的本地Maven仓库后,应用程序启动并运行。清理你的本地maven回购(由于依赖损坏)并重试!

+0

这并不真正回答这个问题。如果您有不同的问题,可以通过单击[提问](https://stackoverflow.com/questions/ask)来提问。您可以[添加赏金](https://stackoverflow.com/help/privileges/set-bounties)在您拥有足够的[声誉](https://stackoverflow.com/help/)后吸引更多关注此问题什么声誉)。 - [来自评论](/ review/low-quality-posts/17502455) – purplepsycho

相关问题