Одним из решений было бы использование SVN Externals для сборки рабочей области нормального проекта Maven из безумной структуры SVN даже на разных серверах SVN. Использование svn external не является идеальным решением, так как это вызовет проблемы с плагином Maven Release и опросом SCM CI в определенной конфигурации. Они говорят вам: «Вы не должны использовать SVN Externals», поскольку делает жизнь сложнее. Но то же самое можно сказать о голодах и костылях, но когда у вас сломана нога (или структура svn, представляющая собой fubar), вы действительно не возражаете против неудобств.
Есть несколько способов сделать это, в зависимости от вашей структуры SVN и желаемой структуры рабочего пространства:
svn co modulA
cd modulA
svn propedit svn:externals .
Примечание: обратите внимание на точку (curdir) в конце строки!
- добавить следующую строку:
parentModul http://path.to.your.svn.location.of.parentModul
- svn ci -m "добавлены внешние ссылки для родителей"
- svn up
и svn извлекает (и передает) ваш код в следующую структуру рабочего пространства
modulA/
| |- pom.xml
parentModul/
|- modulB/
| |- pom.xml
|- pom.xml
pom.xml
Или вы можете добавить новый каталог в SVN 'workplace' и добавить туда новый pom.xml и получить все модули, которые вам когда-либо понадобятся через внешние SVN, на один уровень (или на несколько уровней).