Я столкнулся с подобной проблемой. Мой проект в контексте - это динамический веб-проект (Java 8 + Tomcat 8), и ошибка для исключения драйвера PostgreSQL: Не найдено подходящего драйвера
. Он был разрешен путем добавления Class.forName("org.postgresql.Driver")
до вызов метода getConnection()
Вот мой пример кода:
try {
Connection conn = null;
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection("jdbc:postgresql://" + host + ":" + port + "/?preferQueryMode="
+ sql_auth,sql_user , sql_password);
} catch (Exception e) {
System.out.println("Failed to create JDBC db connection " + e.toString() + e.getMessage());
}
земляника Perl является просто улучшением и лучше. Одна проблема, которую я неоднократно имел с ActiveState, состоит в том, что моим модулям иногда не удается установить, потому что мне нужно обновление базового модуля, но они не позволят это. Таким образом все, кто не делает Windows использования, могут использовать мой код, но они не могут сделать этого с Perl ActiveState.
ActiveState также имеет очень изворотливую систему сборки, которой часто не удается сообщить точно, почему модулю не удалось создать. Я стал столь усталым от пользования электронной почтой и запрашивать эту информацию, что я в конечном счете сдался. Я хочу, чтобы мой код работал на Windows, но если ActiveState не предоставляет мне ту информацию и не дает мне опции для обновления базовых модулей, я просто не могу использовать его. Некоторые мои модули не имеют НИКАКИХ отказов сборки ни в какой операционной системе - кроме тех с ActiveState Perl. Земляничный Perl поддержки и просто не волнуется о ActiveState.
, Если ActiveState зафиксировал их систему сборки и их 'никакое обновление базовых модулей' политика, это стоит пересмотреть.
Нет никакого одно-лучшего распределения Perl. ваниль Perl (перемещаемый, распространяемый Perl), и это - Земляничный Perl more-developer-friendly , имеют значительный потенциал.
Однако существует очень серьезное основание, почему ActivePerl так очень популярен. Преимущества главным образом прибывают в форме простоты развертывания для Ваших конечных пользователей (никакой компилятор, необходимый для использования их диспетчера пакетов, PPM). ActiveState PDK (Комплект разработчика Perl) является также очень хорошим способом упаковать полный двоичный файл Windows, который не требует, чтобы любой Perl был установлен на машине пользователя.
, К сожалению, много очень хороших модулей CPAN (как привязка Perl для OpenSSL) не доступны через репозиторий ActiveState.
Как большинство вещей, необходимо сделать выбор, на основе которого распределение лучше всего удовлетворяет потребности.
Будущее является определенно Земляничным Perl. Какой бы ни Вы выбрали, хотя (и эта проблема не уникально для Windows), если Вы распределяете конечный результат другим машинам, Вы оказываетесь перед необходимостью быть осторожными в отношении установщика/инструкций по установке, Вы обеспечиваете.
Я, прежде всего, использую ActivePerl, но я действительно как то, куда Земляничный Perl направляется. Я люблю это, оболочка cpan "просто работает", и я не должен переходить через набор обручей для установки модулей XS. (например, ExtUtils:: FakeConfig, хотя это менее необходимо в более свежих сборках ActivePerl.) я также взволнован возможностью Perl на карте флэш-памяти. dev выпуск Портативный Perl уже довольно применим.
я соглашаюсь, что основным преимуществом ActivePerl является Tk из поля, но обратите внимание, что с 5.10 ActivePerl больше не поставлется с Tk по умолчанию. Это поставлется с Tkx вместо этого.
земляника Perl больше похожа на Perl на *, отклоняют. Это идет MinGW, который мог быть полезным самостоятельно. Модули Perl могут также быть установлены или с ppm или с cpan.
ActiveState Perl считали фактическим Windows Perl долгое время. В то время как это имеет много дефектов, и многие из нас используют что-то еще, это остается очень популярным. Если бы Вы создавали код Perl, который будет выполняться на машине Windows (кроме Вашего собственного), я рассмотрел бы запись его глазом к значению по умолчанию (или как значение по умолчанию, поскольку я мог получить его), установка Perl AS, выполняющая его. Что-либо еще и Вы представляете барьеры для доступа для других, пытающихся использовать Ваше приложение позже.
У меня были основные проблемы с Земляникой, и я чувствовал, что не было никакой поддержки. Хорошие люди в PerlMonks не могли помочь мне, и я сдался. Если эта страница оставляет Вас с определенным отсутствием уверенности, существует Ваш ответ.
Я всегда использую Cygwin (xterms с ударом, настолько лучше, чем cmd окна), и Perl, который идет с ним. Я устанавливаю модули Perl с оболочкой CPAN (команда "cpan"); это хорошо работает.
Код, который я пишу, принадлежит компаниям из списка Fortune 500, так что "корпоративное" ощущение полезно. До сих пор я использовал ActivePerl, и он отлично работал как для внутренних инструментов, так и для распространения среди крупных клиентов.
Я предпочитаю Strawberry Perl. Во-первых, он устанавливает gcc как часть mingwin, так что вы можете установить его прямо из CPAN.
Некоторое время я использовал Perl ActiveState, но у меня было много нестыковок при переходе с одной машины на другую, несмотря на то, что они (по-видимому) были настроены идентично. Плохой вкус оставила и их модульная упаковка PPM. Это упрощает управление пакетами, но вы полагаетесь на них для обновления PPM после обновлений CPAN. Кроме того, PPM ни в коем случае не является полным содержимым CPAN; В последний раз, когда я использовал ActivePerl, мне было трудно найти все необходимые модули, а те, которые были там, часто были старой версии.