如何在没有Eclipse的情况下运行spring boot应用程序?

时间:2017-10-20 11:49:47

标签: java spring maven spring-boot jar

在Eclipse中,我可以使用Run As > Java Application > Application - xxx xxx = projectname运行Spring Boot应用程序。使用这种方式运行应用程序。 Started Application in 5.091 seconds (JVM running for 5.445)

现在,因为这是有效的,我希望能够在Eclipse之外运行应用程序。这可能吗?

我尝试了什么

我使用Run As > Maven install创建了一个应用程序构建文件。这会填充target文件夹,其中包括project-0.0.1-SNAPSHOT.jarproject-0.0.1-SNAPSHOT.jar.original文件。

我在互联网上搜索,发现可以使用java -jar project.jar运行这些文件。不幸的是,这会产生以下错误输出:

  

org.springframework.beans.factory.BeanCreationException:使用名称' org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration'创建bean时出错:注册自动连接的依赖项失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:无法自动装配字段:private javax.sql.DataSource org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration.dataSource;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名称为' dataSource'的bean时出错。在类路径资源中定义[org / springframework / boot / autoconfigure / jdbc / DataSourceAutoConfiguration $ NonEmbeddedConfiguration.class]:通过工厂方法的Bean实例化失败;嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化[javax.sql.DataSource]:工厂方法' dataSource'抛出异常;嵌套异常是org.springframework.boot.autoconfigure.jdbc.DataSourceProperties $ DataSourceBeanCreationException:无法确定数据库类型为NONE的嵌入式数据库驱动程序类。如果你想要一个嵌入式数据库,请在类路径上放置一个受支持的数据库。如果要从特定配置文件加载数据库设置,则可能需要激活它(当前没有配置文件处于活动状态)。

问题

有没有人知道在Eclipse之外运行Spring Boot应用程序的另一种方法,或者知道如何解决这个错误?

2 个答案:

答案 0 :(得分:3)

在运行时,类路径上没有可用的嵌入式数据源。

Cannot determine embedded database driver class for database type NONE. If you want an embedded database please put a supported one on the classpath. If you have database settings to be loaded from a particular profile you may need to active it (no profiles are currently active).

请参阅此文档,https://docs.spring.io/spring-boot/ocs/current/reference/html/boot-features-sql.html

添加首选的嵌入式数据库应该允许它启动。如,

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

答案 1 :(得分:0)

Eclipse无关紧要;您应该知道如何在没有IDE的情况下运行Spring Boot可执行JAR。您将不会部署该IDE。

我猜你确实有包装问题。可执行的JAR内部没有所有依赖的JAR。

使用Maven Shade插件为您创建一个胖JAR。