Я обновил свой проект с JDK 8 до JDK 17 и с Gradle 4 до Gradle 7.
Я могу правильно построить войну на своем локальном компьютере и могу запускать приложение, но при публикации войны в Artifactory я не вижу полных фрагментов файлов, которые я раньше видел с ошибками Gradle 4 и ниже, видны в журнале.
Ниже приведено определение задачи публикации:
publishing {
publications {
product(MavenPublication) {
artifactId "$project.name"
artifact war
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')
configurations.compileClasspath.allDependencies.each {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
}
}
}
}
}
Используемый плагин
plugins {
id 'org.springframework.boot' version '2.7.4'
id 'io.spring.dependency-management' version '1.0.14.RELEASE'
id 'java'
id 'war'
id 'idea'
id 'eclipse'
}
Ошибка :
> Task :project.package:publishProductPublicationToArtifactoryRepository
Execution optimizations have been disabled for task ':project.package:publishProductPublicationToArtifactoryRepository' to ensure correctness due to the following reasons:
- Gradle detected a problem with the following location: 'project-name-1.3.18-SNAPSHOT.war'. Reason: Task ':project.package:publishProductPublicationToArtifactoryRepository' uses this output of task ':project.package:bootWar' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.
Please refer to https://docs.gradle.org/7.3/userguide/validation_problems.html#implicit_dependency for more details about this problem.
Cannot upload checksum for snapshot-maven-metadata.xml because the remote repository doesn't support SHA-512. This will not fail the build.
Cannot upload checksum for module-maven-metadata.xml because the remote repository doesn't support SHA-512. This will not fail the build.
Наконец я получил решение, ниже приведены необходимые изменения в задаче публикации
publications {
product(MavenPublication) {
artifactId "$project.name"
artifact bootWar