2017-03-26 87 views
0

我已經開發了一個春季啓動應用程序,我想在ubuntu服務器上部署這個應用程序,但是當我嘗試導出jar文件並在我的電腦中測試它不起作用 這是我的類應用從春季啓動應用程序導出jar和部署到Ubuntu服務器

@SpringBootApplication 
@EnableScheduling 
public class Application extends SpringBootServletInitializer{ 

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

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
      SpringApplication.run(Application.class, args); 
    } 
} 

的,這我的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>geekycoders_my_team</groupId> 
    <artifactId>geekycoders_my_team</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>geekycoders_my_team Maven Webapp</name> 
    <url>http://maven.apache.org</url> 
    <properties> 
     <start-class>com.geekycoders.my_team.Application</start-class> 
</properties> 
    <parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.5.1.RELEASE</version> 
</parent> 
<dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-data-jpa</artifactId> 
     </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 

    <dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-security</artifactId> 
</dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-websocket</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.6</version> 
    </dependency> 
     <dependency> 
    <groupId>org.thymeleaf</groupId> 
    <artifactId>thymeleaf-spring3</artifactId> 
    <version>3.0.3.RELEASE</version> 
</dependency> 

<dependency> 
    <groupId>org.apache.commons</groupId> 
    <artifactId>commons-lang3</artifactId> 
    <version>3.5</version> 
</dependency> 

<dependency> 
      <groupId>org.webjars</groupId> 
      <artifactId>angularjs</artifactId> 
      <version>1.5.9</version> 

     </dependency> 
     <dependency> 
      <groupId>org.webjars</groupId> 
      <artifactId>bootstrap</artifactId> 
      <version>3.3.7</version> 

     </dependency> 
     <dependency> 
    <groupId>org.json</groupId> 
    <artifactId>json</artifactId> 
    <version>20140107</version> 
</dependency> 
<dependency> 
    <groupId>joda-time</groupId> 
    <artifactId>joda-time</artifactId> 
    <version>2.9.7</version> 
</dependency> 
</dependencies> 


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

      </plugin> 


     </plugins> 
    <finalName>geekycoders_my_team</finalName> 
    </build> 
</project> 

我的項目作爲運行的JAR文件導出,用eclipse,當我嘗試用java -jar 執行它告訴我錯誤

2017-03-26 16:30:55.376 ERROR 7819 --- [   main] o.s.boot.SpringApplication    : Application startup failed 

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [com.geekycoders.my_team.Application]; nested exception is java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct. 
    at org.springframework.context.annotation.ConfigurationClassParser.processDeferredImportSelectors(ConfigurationClassParser.java:520) ~[footnet.jar:na] 
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:184) ~[footnet.jar:na] 
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:308) ~[footnet.jar:na] 
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:228) ~[footnet.jar:na] 
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:270) ~[footnet.jar:na] 
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:93) ~[footnet.jar:na] 
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:686) ~[footnet.jar:na] 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:524) ~[footnet.jar:na] 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[footnet.jar:na] 
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737) [footnet.jar:na] 
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370) [footnet.jar:na] 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) [footnet.jar:na] 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1162) [footnet.jar:na] 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1151) [footnet.jar:na] 
    at com.geekycoders.my_team.Application.main(Application.java:22) [footnet.jar:na] 
Caused by: java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct. 
    at org.springframework.util.Assert.notEmpty(Assert.java:276) ~[footnet.jar:na] 
    at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.getCandidateConfigurations(AutoConfigurationImportSelector.java:152) ~[footnet.jar:na] 
    at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.selectImports(AutoConfigurationImportSelector.java:94) ~[footnet.jar:na] 
    at org.springframework.context.annotation.ConfigurationClassParser.processDeferredImportSelectors(ConfigurationClassParser.java:512) ~[footnet.jar:na] 
    ... 14 common frames omitted 
+0

使用Spring Application.class中的包添加批註@ComponentScan然後嘗試。 – Ajinkya

回答

-1

大聲笑,我現在有一個非常類似的問題。

不知道是否有必要,因爲有大量的ide spring插件可以爲你做這項工作,如果你安裝了它們,但由於我們使用的是maven,所以我很確定你將不得不與你的項目一起構建maven爲了做正確的事。

如果你使用eclipse嘗試像運行方式> Maven構建...>目標:包

至少這就是我通常做的(或只是使用命令行打包)。但是我長期記錄了Maven的錯誤和問題,從來沒有想過要花更多時間學習看起來如此不穩定的東西(一旦我所有的依賴關係都在一夜之間被損壞了,我不得不重新下載其中的三個時間來解決所有LOC標題錯誤)所以不要驚訝,如果這不適合你。

沒有真正的答案,但stackoverflow不會讓我評論,直到我有50代表。

相關問題