Пользовательские пространства имен Spring с Maven - PullRequest
0 голосов
/ 25 июня 2009

Я написал свое собственное пространство имен для проекта на базе Spring, над которым я работаю. Проект построен с использованием Maven, и я хотел бы поместить мои xsd-файлы в каталог ресурсов. Проблема в том, что каталог spring.schemas требует, чтобы я определил, куда я помещаю свой xsd-файл. В моей среде разработки это будут resources / schemas / myschema.xsd. Но при компиляции содержимое ресурсов копируется в целевой каталог, а не в сам каталог назначения. Поэтому в скомпилированном коде я получаю target / schemas / myschema.xsd. Должен ли мой файл spring.schemas ссылаться на ресурсы / schemas / myschema.xsd? Или просто схемы / xsd?

спасибо,

Jeff

Ответы [ 3 ]

1 голос
/ 25 июня 2009

При создании пользовательского пространства имен для Spring файл spring.schemas должен находиться в META-INF с такой записью:

http://www.springframework.org/schema/context/spring-context-2.5.xsd=org/springframework/context/config/spring-context-2.5.xsd

Ваша пользовательская схема должна быть затем добавлена ​​в src / main / resources / org / springframework / context / config / в classpath проекта.

Любая хорошая IDE должна понимать src / main / resources / как папку с исходным кодом и очень хорошо читать схему.

ПРИМЕЧАНИЕ: Я взял этот пример из файла spring-core.jar, просто проверьте его самостоятельно

1 голос
/ 25 июня 2009

Это должно указывать только на схемы / myschema.xsd

target / resources попадет в ваш путь к классам, так что вы можете смело ссылаться на все там.

0 голосов
/ 25 июня 2009

Вы можете определить связанное местоположение в Eclipse. Используя переменную для определения корня рабочего пространства, а затем создав связанную папку, вы сохраняете некоторую степень переносимости.

Щелкните правой кнопкой мыши проект, выберите новый -> Папка

вызовите папку "схемы", нажмите Дополнительно >> , выберите Ссылка на папку в файловой системе

Выберите Переменные ... и выберите переменную WORKSPACE_ROOT

Добавьте относительный путь к вашей папке схем, например, [имя проекта] / src / main / resources / schemas

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

...