在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.jar
和project-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应用程序的另一种方法,或者知道如何解决这个错误?
答案 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。