Даже зная его немного поздно, и даже зная, что это немного взломать, я использовал следующее решение для достижения желаемого результата. Если вы любите Java-Naming-Conventions, мой совет состоит в том, чтобы прекратить чтение здесь ...
Имея такой класс, определяя константы, сгруппированные пустыми классами, чтобы создать вид иерархии:
public class PERMISSION{
public static class PAGE{
public static final Long SEE = 1L;
public static final Long EDIT = 2L;
public static final Long DELETE = 4L;
...
}
}
можно использовать из java как PERMISSION.PAGE.SEE
для извлечения значения 1L
. Для достижения простой возможности доступа из EL-выражений я сделал следующее: (Если есть бог кодирования - он, надеюсь, может простить меня: D)
@Named(value="PERMISSION")
public class PERMISSION{
public static class PAGE{
public static final Long SEE = 1L;
public static final Long EDIT = 2L;
public static final Long DELETE = 4L;
...
//EL Wrapper
public Long getSEE(){
return PAGE.SEE;
}
public Long getEDIT(){
return PAGE.EDIT;
}
public Long getDELETE(){
return PAGE.DELETE;
}
}
//EL-Wrapper
public PAGE getPAGE() {
return new PAGE();
}
}
, наконец, EL-Expression для доступа к тому же самому Long
становится: #{PERMISSION.PAGE.SEE}
- равенство для Java и EL-Access. Я знаю, что это вне всякого соглашения, но оно отлично работает.
Ваша проблема вызвана порядком загрузки required property
. Maven загружает каждый пользовательский required property
в алфавитном порядке. Вероятно, вы не можете его изменить. Но есть два способа решения вашей проблемы:
"0_name"
"1_groupId"
Теперь он сначала спросит вас о имени. mvn archetype:generate -DarchetypeGroupId=?? -DarchetypeArtifactId=?? -DgroupId=?? -DartifactId=?? -Dversion=?? -Dpackage=?? -Dname=??
Замените ??
на допустимые параметры Надеюсь, это вам поможет.
EDIT: теперь я вижу asked time
. Довольно оффтоп, но, возможно, это поможет кому-то еще