Wie kann Maven nur installiert oder bereitgestellt werden, ohne neu zu verpacken / erneut zu testen?

7

Manchmal wollte ich bereitstellen, aber ich tippte mvn package.

Manchmal möchte ich mvn deploy -DaltDeploymentRepository=...unmittelbar nach der Standardbereitstellung in einem anderen alternativen Repository (mithilfe ) bereitstellen.

Ich möchte sie also wirklich nicht erneut verpacken und testen, weil sie nur erfolgreich sind. Die Ergebnisgläser befinden sich einfach im target/Verzeichnis. Ich hoffe, ich kann sie einsetzen.

Ich weiß deploy:deploy-file, dass dies der Fall ist , aber die Verwendung ist unpraktisch. Ich möchte die groupId und die ArtifactId nicht erneut in der Befehlszeile angeben. Es funktioniert nicht für große Projekte, die auch viele zu implementierende Jars enthalten.

Xiè Jìléi
quelle

Antworten:

1

Verwenden Sie das Befehlszeilenflag maven.test.skip , um Tests zu überspringen:

mvn -Dmaven.test.skip=true install

Verwenden Sie das Befehlszeilenflag maven.repo.list , um ein weiteres Repository hinzuzufügen:

mvn -Dmaven.repo.list=
Paul Sweatte
quelle
Dies überspringt jedoch nur Tests und führt dennoch Verpackungen durch, oder?
Lii
Dadurch wird die gesamte Pipeline erneut ausgeführt, wobei Tests übersprungen werden. Einige der Plugins basieren möglicherweise auf früheren Build-Ergebnissen, viele nicht. Die meisten Standard-Plugins gehorchen dem Flag und werden nicht erneut ausgeführt, aber viele andere Plugins ignorieren es und werden daher erneut ausgeführt. Außerdem sollten einige der Maven-Plugins, die aufgrund dieses Flags übersprungen werden, tatsächlich (teilweise) ausgeführt werden, werden es aber nicht. Beispielsweise wird das Test-JAR-Ziel übersprungen, wenn Tests übersprungen werden, und daher wird das Test-JAR nicht an die Liste der Release-Artefakte angehängt und daher nicht von "mvn deploy -Dmaven.test.skip = true" bereitgestellt.
Robin479