У меня есть модульное приложение gradle: сервисный компонент (пружинная загрузка, kotlin) и угловой интерфейс.
Как работают индивидуально, так и во время разработки приложение работает как положено.Я создал файл компоновки верхнего уровня следующим образом:
Трехуровневый файл Gradle:
plugins {
id 'com.gradle.build-scan' version '1.16'
}
buildScan {
termsOfServiceUrl = 'https://gradle.com/terms-of-service'
termsOfServiceAgree = 'yes'
publishAlways()
}
allprojects {
group = 'my.domain'
version = '0.0.1-SNAPSHOT'
}
Файл Gradle в угловом проекте пользовательского интерфейса:
plugins {
id 'java'
id 'com.moowork.node' version '1.2.0'
}
node {
version = '10.13.0'
npmVersion = '6.4.1'
download = true
}
jar.dependsOn 'npm_run_build'
jar {
from 'dist/myproject-ui' into 'static'
}
И файл Gradleв сервисах (весенний загрузочный проект):
buildscript {
ext {
kotlinVersion = '1.2.71'
springBootVersion = '2.1.0.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}")
classpath("org.jetbrains.kotlin:kotlin-allopen:${kotlinVersion}")
classpath("org.jetbrains.kotlin:kotlin-noarg:${kotlinVersion}")
}
}
plugins {
id "org.jetbrains.kotlin.jvm" version "1.3.10"
id "org.jetbrains.kotlin.plugin.spring" version "1.3.10"
id "org.jetbrains.kotlin.plugin.jpa" version "1.3.10"
id "org.springframework.boot" version "2.1.0.RELEASE"
id "io.spring.dependency-management" version "1.0.6.RELEASE"
}
sourceCompatibility = 1.8
compileKotlin {
kotlinOptions {
freeCompilerArgs = ["-Xjsr305=strict"]
jvmTarget = "1.8"
}
}
compileTestKotlin {
kotlinOptions {
freeCompilerArgs = ["-Xjsr305=strict"]
jvmTarget = "1.8"
}
}
repositories {
mavenCentral()
}
dependencies {
implementation('org.springframework.boot:spring-boot-starter-data-jpa')
implementation('org.springframework.boot:spring-boot-starter-web')
implementation('org.springframework.boot:spring-boot-starter-mail')
implementation('com.fasterxml.jackson.module:jackson-module-kotlin')
implementation('org.flywaydb:flyway-core')
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("javax.mail:mail:1.5.0-b01")
implementation(project(':myproject-ui'))
runtimeOnly('org.postgresql:postgresql')
testImplementation('org.springframework.boot:spring-boot-starter-test')
}
jar создается, и когда я запускаю jar и перехожу на localhost: 8080, появляется пользовательский интерфейс приложения.Хорошее начало.Однако, если я иду в приложение с любым маршрутом, который определен в пользовательском интерфейсе (например: localhost: 8080 / user / someid), я получаю 404 не найден.При обычной навигации к угловому приложению это не проблема, и приложение работает как положено.
Что я делаю не так?