Используйте bindfs, который разработан, чтобы "смонтировать каталог к другому местоположению и изменить биты полномочий".
Запускаются с нормальной папки, которая имеет и доступ для чтения и доступ для записи:
$ mkdir read-write-view && touch read-write-view/{a,b,c}
$ ls read-write-view
a b c
Использование bindfs для монтирования папки без доступа для чтения:
$ mkdir write-only-view
$ sudo bindfs --perms=a-r read-write-view write-only-view
Проверяют, что только содержание исходной папки может быть перечислено:
$ ls read-write-view write-only-view
read-write-view:
a b c
ls: cannot open directory write-only-view: Permission denied
Проверяют, что исходная папка может быть записана в через монтирование:
$ echo 'Can you read this?' > write-only-view/d
$ cat read-write-view/d
Can you read this?
Проверяют, что файлы не могут быть считаны через монтирование:
$ cat write-only-view/d
cat: write-only-view/d: Permission denied
Программно или просто вручную?
Поскольку репозиторий работает через HTTP, вы можете просто перемещаться по нему вручную:
http://repo2.maven.org/maven2/org/springframework/ весна / http://repo2.maven.org/maven2/org/hibernate/hibernate/ http://repo2.maven.org/maven2/org/hibernate/hibernate-core/
Получить файл maven-metadata.xml
, помещенный в каталог артефактов, например http://repo1.maven.org/maven2/com/sun /media/jai_codec/maven-metadata.xml для артефакта с groupId com.sun.media
и artifactId jai_codec
.
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<groupId>com.example</groupId>
<artifactId>project</artifactId>
<versioning>
<latest>0.0.5</latest>
<release>0.0.5</release>
<versions>
<version>0.0.3</version>
<version>0.0.4</version>
<version>0.0.5</version>
</versions>
<lastUpdated>20090725212606</lastUpdated>
</versioning>
</metadata>
Как сказано в ответе Роберта, файл maven-metadata.xml для каждого артефакта в репозитории содержит необходимую информацию о версии. В частности, обратите внимание на элементы последней версии и выпуска в метаданных. Последний элемент обозначает последнюю версию, которая будет опубликована, хотя это может быть не та версия, которую вы хотите. Например, это может быть отладочный выпуск более старой версии, выпуск-кандидат или этап. Версия выпуска означает последнюю опубликованную версию, которая должна рассматриваться как выпуск, поэтому обычно вам следует использовать эту версию.
Для информации, Maven super POM имеет специальный выпуск - profile профиль, активируемый установкой свойства performRelease (например, путем передачи -DperformRelease в командной строке).