Gradle строить неожиданное поведение против IDEJAVA

Программисты JAVA общаются здесь
Anonymous
Gradle строить неожиданное поведение против IDE

Сообщение Anonymous »

У меня есть следующий код, который выполняет Spring Databaseclient вставить логику:

Код: Выделить всё

 suspend fun saveXXX(xxx: XXX): InsertStatus {
return try {
doSave(xxx)
InsertStatus.INSERTED
} catch (exception: DuplicateKeyException) {
val errDetails = (exception.cause as PostgresqlException).errorDetails
if (errDetails.code == "23505") {
val constraintName = errDetails.constraintName.get()
if (constraintName == "unique_1") {
return InsertStatus.DUPLICATE_1
} else if (constraintName == "unique_2") {
return InsertStatus.DUPLICATE_2
}
}
return InsertStatus.UNKNOWN_ERROR
}
}

private suspend fun doSave(xxx: XXX) {
databaseClient
.sql(
"""
SOME SQL
""".trimIndent(),
).bind(...)
.rowsUpdated()
.awaitSingle()
}
Проблема, с которой я сталкиваюсь, во время выполнения INTELLIJ IDEA. Этот код ведет себя как ожидалось, так что Exception.Caue является подтипом postgresqlexception , но во время работы с командой ./Gradlew Clean Build Исключение. DuplicateKeyException (postgresQlexception) Но эффективно это DuplicateKeyException (duplicateKeyException (postgresqlexception)) . И еще раз, это происходит только во время запуска Gradle.
Что может быть причиной этого?

Подробнее здесь: https://stackoverflow.com/questions/795 ... our-vs-ide

Вернуться в «JAVA»