Инструменты пользователя

Инструменты сайта


service:java

Maven

Чтобы задать пути к Яве и Мавену, не надо использовать JAVA_HOME, M2_HOME и т. д. Нужно задать PATH:

export PATH=/usr/lib/jvm/java-11-openjdk-11.0.22.0.7-1.e17.x86_64/bin:/opt/app/maven-3.6.3/bin:$PATH

https://stackoverflow.com/questions/26609922/maven-home-mvn-home-or-m2-home

Зеркало всех запросов к репозиторию

В mirrorOf нужно прописать *. Если нужно заменить только общий репозиторий, тогда central.

<settings>
    <servers>
        <server>
            <id>nexus-maven</id>
            <username>{{ nexusUser }}</username>
            <password>{{ nexusPass }}</password>
        </server>
    </servers>
	<mirrors>
		<mirror>
			<id>nexus-maven</id>
			<url>https://nexus.example.com/repository/project-maven</url>
			<mirrorOf>*</mirrorOf>
		</mirror>
	</mirrors>
</settings>

https://maven.apache.org/guides/mini/guide-mirror-settings.html

Поиск версии в pom.xml

Кривой способ, если нет нормального парсера XML.

# Т. к. тэг <version> встречается много где в pom.xml, нужно вытащить кусок после ID конкретного артефакта
fgrep 'artifact-name</artifactId>' -A 5 pom.xml |grep version |sed -E 's#.*>(.+)<.*#\1#'
4.0.0-rc-3-SNAPSHOT
 
# Менее кривой способ (нет предполагаемого кол-ва строк после 'artifact-name</artifactId>')
sed -nE '/artifact-name<\/artifactId>/,/<\/version>/ s#.*<version>(.*)<\/version>.*#\1#p' pom.xml
# С заменой разделителя на # в диапазоне поисковых выражений (\# перед каждым)
sed -nE '\#artifact-name<\/artifactId>#,\#<\/version># s#.*<version>(.*)<\/version>.*#\1#p' pom.xml
service/java.txt · Последнее изменение: viacheslav

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki