Я создаю архетип maven и в проектах сгенерировал класс, названный в честь идентификатора артефакта сгенерированного проекта.
Идентификатор артефакта будет отформатирован следующим образом: the-project-name
, а класс должен быть назван TheProjectNameMain
.
Я пытался сделать это в своем archetype-metadata.xml
, но я не могу понять это правильно.
<archetype-descriptor>
<requiredProperties>
<requiredProperty key="classNamePrefix">
<defaultValue>${WordUtils.capitalize(artifactId.replaceAll("-", " ")).replaceAll(" ", "")}</defaultValue>
</requiredProperty>
</requiredProperties>
</archetype-descriptor>
Как вы можете видеть, я попытался использовать WordUtils (из apache-commons), но я предполагаю, что это недоступно, потому что я получаю сообщение об ошибке. Error merging velocity templates:....
. Я также пробовал разные комбинации .replaceAll
, но я не мог получить нужный формат.
Кто-нибудь знает, как в этом случае перейти от a-hypenated-string к CamelCaseClassName?