Eclipseから起動したときにpostgresを正しくロードするスプリングブートプロジェクトがありますが、Windowsコマンドウィンドウで起動すると、テストデータベースがロードされます。cmd起動時のスプリングブート負荷テストデータベース
Iはjava -jar happy_list-0.1.0.jar
とCMDからアプリケーションを起動すると、私はこのエラー(Iはスタックトレースの一部を除去する)を有する。java.lang.IllegalStateException:によって引き起こさ
をテストデータベース タイプのドライバ[HSQL java.lang.ClassNotFoundException::]によって引き起こされるクラスパス
では使用できませんorg.hsqldb.jdbcDriverなど
は、私はテストのための任意のテストや構成を持っていません。それは、いくつかの自動設定がスプリングブートによって行われなければなりませんが、なぜそれがeclipseまたはwindows cmdから実行されるときに異なって動作するのか分かりません。
PersistentContext:
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(basePackages = { "happy_listing" })
public class PersistentContext {
}
App.java:
@SpringBootApplication
@EnableAutoConfiguration
@Configuration
@ComponentScan(basePackages = { "happy_listing" })
@Import({ PersistentContext.class })
public class App {
@Configuration
@PropertySource("classpath:application.properties")
static class ApplicationProperties {
}
public static void main(String... args) {
SpringApplication.run(App.class, args);
}
}
Build.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.5.RELEASE")
classpath('se.transmode.gradle:gradle-docker:1.2')
}
}
group = 'marcandregirard'
apply plugin: 'java'
apply plugin: 'spring-boot'
apply plugin: 'docker'
jar {
baseName = 'happy_list'
version = '0.1.0'
}
springBoot {
mainClass = "happy_listing.App"
}
repositories {
mavenCentral()
}
dependencies {
compile 'org.slf4j:slf4j-api:1.7.13'
compile 'javax.ws.rs:javax.ws.rs-api:2.0'
compile 'org.springframework:spring-core'
compile 'org.springframework:spring-context'
compile 'org.springframework:spring-jdbc'
compile 'org.springframework.boot:spring-boot-starter-web'
compile group: 'org.apache.commons', name: 'commons-dbcp2', version: '2.1.1'
compile 'org.springframework.data:spring-data-jpa:1.9.2.RELEASE'
compile 'org.hibernate:hibernate-entitymanager'
compile 'org.postgresql:postgresql:9.4-1206-jdbc42'
compile 'org.springframework:spring-web'
testCompile 'junit:junit:4.12'
}
task buildDocker(type: Docker, dependsOn: build) {
push = true
applicationName = jar.baseName
dockerfile = file('src/main/docker/Dockerfile')
doFirst {
copy {
from jar
into stageDir
}
}
}
私はにjarファイルと画像を作成するコマンドgradle build buildDocker
とjarファイルを作成しましたDockerで実行します。
Eclipseの起動時にすべてうまく動作しています。
他の情報が必要な場合や、正しくないものがある場合は、コメント内でそのように言います。 –
また、あなたのjarファイルの隣にあるconfigフォルダに、外部の 'application.properties'や何かがないことを確認してください。 –