Чтобы выполнить некоторые из ответов здесь, мне пришлось получить ParametrizedType MyGenericClass, независимо от того, насколько высока иерархия, с помощью рекурсии:
private Class<T> getGenericTypeClass() {
return (Class<T>) (getParametrizedType(getClass())).getActualTypeArguments()[0];
}
private static ParameterizedType getParametrizedType(Class clazz){
if(clazz.getSuperclass().equals(MyGenericClass.class)){ // check that we are at the top of the hierarchy
return (ParameterizedType) clazz.getGenericSuperclass();
} else {
return getParametrizedType(clazz.getSuperclass());
}
}
В дополнение к этим трем инструментам, перечисленным в вопросе, существует другой названный Поставщик программного блока Кавы записан Mark Dootson, который также способствовал ПАРИТЕТ в прошлом. Это только работает в соответствии с Windows, имеет хороший GUI Wx и работает по-другому по сравнению с типичными тремя соперниками, в которых это собирает все зависимости от Perl в источнике / каталог lib вместо того, чтобы создать единственный архив, содержащий все. Существует бесплатная версия, но это не Открытый исходный код. Я не использовал это за исключением тестирования.
Что касается ПАРИТЕТА, это - действительно инструментарий. Это идет с упаковочным инструментом, который делает сканирование зависимости и блок автономных исполняемых файлов, но это может также использоваться, чтобы генерировать и использовать так называемые .par файлы на аналогии с БАНКАМИ Java. Это также идет клиент и сервер для того, чтобы автоматически загрузить недостающие пакеты по сети, и т.д. слайды моего разговора о ПАРИТЕТЕ в YAPC:: ЕС 2008 вдается в большее количество подробностей об этом. Существует также активный список рассылки: паритет в жемчуге отмечает точкой org.
Вы могли использовать perlcc
инструмент, это поставляется с большинством дистрибутивов Perl. Я также нашел и perl2exe
и Активный Государственный Perl набор Dev полезный для поставки приложений Perl.
Я новичок в Perl и только что загрузил Cava Packager, и это единственный, который мне показался работающим. Я пробовал ActiveState 5.10.1005 и Strawberry Perl с PAR-Packager в Windows XP. pp просто зависает в середине потока и никакие исполняемые файлы не создаются.
Cava пока что является единственным решением для создания exe в Windows. Спасибо.