Ich verwende Snapshot Abhängigkeit nur für Tests in meinem ProjektVeröffentlichung Projekt mit SNAPSHOT Test Abhängigkeit
<dependency>
<groupId>com.my-company</groupId>
<artifactId>my-test-library</artifactId>
<version>LATEST</version>
<scope>test</scope>
</dependency>
Ich bin mir bewusst über die Risiken von LATEST
verwenden, aber das ist genau das, was ich in den Tests erreichen will. Allerdings dieser Test Abhängigkeit Blöcke Freisetzung von Produktionscode, wenn ich rufe mvn release:prepare
mit Ausnahme:
[INFO] Checking dependencies and plugins for snapshots ...
There are still some remaining snapshot dependencies.
...
Caused by: org.apache.maven.shared.release.ReleaseFailureException: Can't release project due to non released dependencies :
com.my-company:my-test-library:jar:LATEST:test
in project 'My Project'
Mein dependencyManagement
:
<distributionManagement>
<repository>
<uniqueVersion>true</uniqueVersion>
<id>rep-releases</id>
<name>Release Repo</name>
<url>${url}</url>
</repository>
<snapshotRepository>
<uniqueVersion>true</uniqueVersion>
<id>rep-snapshots</id>
<name>Snapshots Repo</name>
<url>${url}</url>
</snapshotRepository>
</distributionManagement>
Warum Testcode etwas mit Freigabeverfahren zu tun hat? Wie kann ich mit der Freigabe fortfahren und die Abhängigkeit so lassen wie sie ist?
könnten Sie die 'distributionManagement' Details aus der pom.xml teilen auch – nullpointer
Verwenden Sie niemals solche Dinge wie' LATEST' in einer Version zu ermöglichen. ..Wenn Sie sich auf Testcode verlassen, der nicht veröffentlicht wurde, können Sie Ihren Build nicht reproduzieren. Und das ist der Grund, warum Release-Plugin klagt ... – khmarbaise
@khmarbaise Wie ich schrieb, bin ich mir bewusst, alle Folgen der Verwendung von Latest und nicht reproduzierbaren Build. Ich frage nur, warum das Release-Plugin sich über TEST-Code beschwert, während es versucht, PRODUCTION-Code zu veröffentlichen. –