2013-02-14 2 views
1

Я разрабатываю приложение webservice с IntelliJ IDEA, используя Apache CXF, Spring, Hibernate и некоторые другие. Все эти рамки поставляются с большим количеством библиотек, но я не использую их все.Как определить, какие библиотеки загружены/необходимы?

В настоящее время я трачу много времени, чтобы определить, какие файлы jar мне нужно развернуть в производственной среде, чтобы обеспечить надлежащую работу системы.

Есть ли простой и быстрый способ определить, какие библиотеки, более точные, какие файлы jar загружаются/нужны моему приложению.

+1

Вы можете попробовать: http://code.google.com/p/loosejar/ – Ramadas

+0

@Ramadas: конвертировать свой комментарий в ответ, чтобы получить репутацию – Alex

ответ

0

Maven. Это самый популярный инструмент управления зависимостями в мире Java.

0

Попробуйте Dependency Finder, возможно, он сможет перечислить все ваши зависимости от библиотеки.

1

Try Loosejar: http://code.google.com/p/loosejar/

Для демо, я побежал агент Loosejar против небольших приложений в моем затмение мастерской. Приложение использует 4 банки (jsoup-1.6.1.jar, httpclient-4.2.3.jar, httpcore-4.2.2.jar, commons-logging-1.1.1.jar). Я добавил неиспользуемый файл jar в путь сборки - «soap-2.3.1.jar» и запустил приложение. Затем откройте jconsole и просмотрите сводку LooseJarMBean (снимок экрана ниже). Результаты показывают отсутствие использованных классов из каждой банки. Неиспользованные банки будут показаны с использованием 0%

enter image description here

Другим способом сделать это вручную. В одном из наших проектов мы добавляли баннеры вручную, чтобы проектировать до тех пор, пока все проблемы компиляции не будут решены. Этот подход имеет ограничение, если в случае, если банка относится к другой банке, тогда мы узнаем об этом только во время выполнения.

+0

freejar отлично работает, я также дам Maven шанс, спасибо – Alex

Смежные вопросы