- Windows 11,
- IntelliJ Ultimate 2024.1.2 (Ultimate Edition) и
- maven 3.9.1.
myApp
|- myApp.war
|- myApp.ear
|- myApp.service
В корне (myApp) pom.xml у меня есть раздел свойств, например:
env1
Также в корне моего приложения я установил groupId, как показано ниже, и pom.xml не будет отображать красную волнистую линию, так что здесь все хорошо:
com.example.projName-${env} //this is fine
Я могу сделать то же самое для артефактов моего подпроекта myApp.war, myApp.ear, myApp.service, так что и здесь все хорошо.
Однако , все проекты подгрупп должны ссылаться на родительскую группу, например:
com.example.projName-${environment} //get red squiggly underline
myApp
1.0.0
Изменение groupId в элементе приводит к появлению красной волнистой линии, а при наведении на него курсора появляется сообщение Свойства в родительские определения запрещены.
Причина, по которой я изменяю groupId таким образом, заключается в том, что я хочу, чтобы все модули моих проектов переносились на Nexus совместно. местоположение, имя которого определяется projName-staging, projName-qa и т. д.
Однако я все равно могу собрать свое приложение, используя mvn чистая установка и развертывание на моментальном снимке Nexus с помощью mvn Deploy.
Но попытка развертывания на выпусках Nexus завершается неудачей на этапе mvn Release:prepare со следующим:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare (default-cli) on project myApp: Can't release project due to non released dependencies :
[ERROR] com.example.myapp-${environment}:myapp:pom:1.0.1-SNAPSHOT
[ERROR] in project 'myapp-war' (com.example.myapp-env1:myapp-war:war:1.0.1-SNAPSHOT)
Подробнее здесь: https://stackoverflow.com/questions/791 ... -shows-pro