JHipster 6.0.1: 리퀴베이스 태스크 실패
샘플 블로그 애플리케이션(http://gist.asciidoctor.org/?github-mraible/jhipster5-demo//README.adoc)에 따라 JHipster v6.0.1을 사용해 보겠습니다.MariaDB를 개발 및 생산 중인 빌드 도구로 Gradle을 선택하면 액화 작용이 실패합니다.
개발 환경 설치:
- MariaDB 10.3 설치
- JDK 11을 설치하고 그에 따라 환경 변수/경로를 설정합니다.
- 노드 설치(10.15.3) => npm v6.4.1
- 실 설치(1.15.2)
- 셸을 실행하고 명령줄에서 다음을 수행합니다.
- Yoeman 설치:
npm install -g yo
- JHipster 설치:
npm install -g generator-jhipster
- Yoeman 설치:
새 디렉토리를 만듭니다.
blog
, cd를 입력하고 다음과 같이 입력합니다.jhipster
- 위에 링크된 튜토리얼과 거의 동일한 옵션을 선택했으며 개발과 프로덕션 모두에서 MariaDB를 사용하고 Gradle을 빌드 도구로 사용했습니다.
- 서버를 기동합니다.
./gradlew
- 실행:
yarn start
모든 것이 잘 작동한다.데이터베이스 테이블이 예상대로 생성 및 채워지고 웹 응용 프로그램이 제대로 작동합니다.
서버를 정지하고 액상화 태스크를 실행하려고 하면 같은 에러가 발생합니다.예를 들어, 실행:./gradlew liquibaseClearChecksums
명령줄의 결과는 다음과 같습니다.
> Task :liquibaseClearChecksums FAILED
During the build, one or more dependencies that were declared without a version failed to resolve:
org.mariadb.jdbc:mariadb-java-client:
Did you forget to apply the io.spring.dependency-management plugin to the blog project?
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':liquibaseClearChecksums'.
> Could not resolve all files for configuration ':liquibaseRuntime'.
> Could not find org.mariadb.jdbc:mariadb-java-client:.
Required by:
project :
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s
1 actionable task: 1 executed
스택 트레이스를 사용하면 다음과 같은 정보를 얻을 수 있습니다.
Could not resolve all files for configuration ':liquibaseRuntime'.
> Could not find org.mariadb.jdbc:mariadb-java-client:.
Required by:
project :
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':liquibaseClearChecksums'.
Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':liquibaseRuntime'.
Caused by: org.gradle.internal.resolve.ModuleVersionNotFoundException:
Could not find org.mariadb.jdbc:mariadb-java-client:.
Required by:
project :
Windows 10 및 Linux open에서도 같은 결과를 얻을 수 있습니다.SUSE 15.단, Maven을 사용하면 액화작용이 잘 됩니다.나만 그런가?왜 그런지 아시는 분?
[JHipster: 6.0.1, JDK11, MariaDB 10.3.14, 노드 v10.15.3, 실 v1.15.2, npm v6.9.0, 그라들 v5.4.1]
PS: JHipster 6.0.1 삭제 후 v5.8.2 설치 (npm install -g generator-jhipster@5.8.2
위에서 설명한 프로세스를 반복하면 Gradle 액화효소 태스크가 작동합니다!이것은 새로운 JHipster 6.0.1 배치의 버그라고 생각합니다.개발팀에는 어떻게 보고해야 합니까?임시방편 같은 거 없어요?
또, 시간을 들여서 비교했습니다.build.gradle
두 버전(5.8.2 및 6.0.1)의 파일은 매우 다르며, 5.8.2 버전이 직접 참조하는 것 이외에는 분명히 문제가 있다고 생각되는 것이 없습니다.io.spring.dependency-management
플러그인이지만 6.0.1 버전은...
좋아! 내게 해결책이 있어...
다음과 같이 추가했습니다.+
에의 회선build.gradle
파일(28행 전후):
id "org.sonarqube" version "2.7"
+ id "io.spring.dependency-management" version "1.0.7.RELEASE"
//jhipster-needle-gradle-plugins - JHipster will add additional gradle plugins here
}
sourceCompatibility=1.8
targetCompatibility=1.8
assert System.properties["java.specification.version"] == "1.8" || "11" || "12"
apply plugin: "org.springframework.boot"
+ apply plugin: "io.spring.dependency-management"
apply plugin: "propdeps"
나는 선택했다io.spring.dependency-management
버전 1.0.7은 Gradle 플러그인 페이지에 최신 버전(쓰기 시)으로 인용되어 있기 때문입니다.
는 이제 달릴 수 ../gradlew liquibaseClearChecksums
좋은 결과를 얻습니다.
../gradlew liquibaseDiffChangeLog
실패한다스택 트레이스를 켜면 다음 오류가 나타납니다.
:liquibaseDiffChangeLog FAILED
liquibase-plugin: Running the 'main' activity...
Starting Liquibase at Tue, 21 May 2019 07:16:59 PDT (version 3.6.3 built at 2019-01-29 11:34:48)
Unexpected error running Liquibase: The option --referenceUrl is required.
liquibase.exception.CommandLineParsingException: The option --referenceUrl is required.
at liquibase.integration.commandline.Main.createReferenceDatabaseFromCommandParams(Main.java:1419)
at liquibase.integration.commandline.Main.doMigration(Main.java:1026)
at liquibase.integration.commandline.Main.run(Main.java:199)
at liquibase.integration.commandline.Main.main(Main.java:137)
하려면 , 「」를 카피.liquibase
/activities
/diffLog
referenceUrl
의 「」에 입력합니다.liquibase
/activities
/main
참조)+
점멸):
liquibase {
activities {
main {
driver "org.mariadb.jdbc.Driver"
url "jdbc:mariadb://localhost:3306/blog"
username "<username>"
password "<password>"
changeLogFile "src/main/resources/config/liquibase/master.xml"
defaultSchemaName ""
logLevel "debug"
classpath "src/main/resources/"
+ referenceUrl "hibernate:spring:org.jhipster.blog.domain?dialect=org.hibernate.dialect.MySQL5InnoDBDialect&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy"
}
는 이제 달릴 수 ../gradlew liquibaseDiffChangeLog
좋은 결과를 얻습니다.이러한 변경으로 Linux와 Windows 10에서 리퀴베이스 작업을 성공적으로 테스트했습니다.
나만 이걸 알아챈 거야?JHIP스터 팀은 이 사실을 몰랐나요?JHipster/Gradle/liquibase 구성이 테스트되지 않았습니까?내 수정이 완전한 해결책입니까?
JHipster/Gradle/liquibase 구성에 대한 경험이 있는 사람이 통찰력/확인을 제공할 수 있습니까?
같은 문제가 발생하여 "cacheProvider no" 캐시를 사용하지 않도록 설정했습니다.앱을 실행하면 2차 캐시에 또 다른 문제가 발생하는데, DB 드라이버 때문인 것 같습니다.도와줬으면 좋겠다!
언급URL : https://stackoverflow.com/questions/56159063/jhipster-6-0-1-liquibase-tasks-fail
'programing' 카테고리의 다른 글
python에서 반복적으로 폴더 삭제 (0) | 2022.11.17 |
---|---|
React.js에서 컴포넌트의 소품을 갱신할 수 있습니까? (0) | 2022.11.17 |
여러 테이블에서 선택 - 1 대 다 관계 (0) | 2022.11.17 |
Python 운영체제는 어떻게 확인하나요? (0) | 2022.11.17 |
Python의 ISO 시간(ISO 8601) (0) | 2022.11.08 |