Spring - способы включить банку, которая сама использует Spring в проекте Spring - PullRequest
2 голосов
/ 15 сентября 2009

Мне нужно использовать какую-нибудь стороннюю банку в моем проекте. Проект представляет собой проект Spring, и в банке также используется Spring.

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

Ответы [ 2 ]

4 голосов
/ 15 сентября 2009

Не должно быть проблемой. Как правило, контексты приложения могут загружаться независимо друг от друга в одной и той же JVM. Но если вы загружаете определения своих bean-компонентов из файла ресурсов в classpath (например, используя ClasspathXmlApplicationContext ), убедитесь, что местоположение и имя вашего файла не конфликтуют со сторонним JAR. Например, если они оба расположены в /applicationContext.xml в разных JAR-файлах в classpath, у вас возникнет проблема. Сделай свой уникальный.

2 голосов
/ 15 сентября 2009

Мне не совсем понятно, что вы подразумеваете под словом "включить".

Если сторонний файл jar определен как зависимость в вашем военном проекте, он автоматически будет добавлен в папку войны WEB-INF / lib, когда он упакован плагином war . В этом случае любой класс в jar будет находиться на пути к классам и, следовательно, будет доступен для ссылки в вашей конфигурации Spring. У вас есть более конкретные требования, чем это?

Также обратите внимание, что если сторонний jar - это правильно определенный проект Maven, его зависимости будут определены в его pom. Эти переходные зависимости также включены в войну (если только вы не определили их с нестандартным значением scope , в этом случае они могут не быть).

Любой из jar-файлов, которые вы найдете в центральном репозитории Maven , должен быть определен со всеми их переходными зависимостями. Если у вас возникли проблемы с их разрешением, обновите свой ответ, чтобы можно было найти соответствующие учетные данные Maven.

Обновление на основе вашего комментария. Когда jar находится на пути к классам войны, вы можете ссылаться на любые объявленные им конфигурационные файлы Spring, импортируя их в контекст приложения вашей войны. Вы просто указываете импорт в форме: "jar: file: // jarName! /Path/to/config.xml"

...