2013-05-21 1 views
2

Я использую GlassFish-внедренный-сеть для интеграции тестов внутри проекта Maven:Использование различных EclipseLink, чем в комплекте в GlassFish-встраиваемого веб

<dependency> 
     <groupId>org.glassfish.extras</groupId> 
     <artifactId>glassfish-embedded-web</artifactId> 
     <version>3.2-b06</version> 
     <scope>test</scope> 
    </dependency> 

GlassFish-встраиваемого веб поставляется с EclipseLink 2.2.0, но проект требует особенностей 2.4. Для регулярного развертывания это решается путем добавления JE требуется баночки для GlassFish-х модулей каталогов и эту зависимость:

<dependency> 
     <groupId>org.eclipse.persistence</groupId> 
     <artifactId>org.eclipse.persistence.core</artifactId> 
     <version>2.4.1</version> 
     <scope>provided</scope> 
    </dependency> 

Я попытался также компилировать сферу, еще встроенный EL 2.2.0 используется. Зависимость зависимости области проверки от EL 2.4.1 не помогает. Есть ли способ решить это?

+0

У вас получилось приемлемое решение? –

ответ

0

Вы пытались указать область maven test? В противном случае он будет недоступен во время тестирования! Чтобы предоставить эту версию для тестирования, вы можете использовать профили maven.

+0

Я пробовал это. Компиляция приводит к ошибке «package org.eclipse.persistence.annotations does not exist». Этот пакет находится в org.eclipse.persistence.core – Marek

+0

О, извините, не прочитал, что вы уже пытались скомпилировать и проверить область. Я использую 'org.glassfish.main.extras: glassfish-embedded-all: 3.1.2.2', и он работает, когда я использую предоставленную область для ссылки eclipse. –

0

Я вижу два возможных решения этой проблемы: либо вы создать свой собственный GlassFish встраиваемого или просто использовать грубую силу подход и изменить баночку.

На 1-е подхода: Пробыв некоторое время здания GF я понял, что даже с моими дилетантой оболочкой навыками сценариев лучше просто использовать второй подход вместо выясняя кода GF. Однако, если вы воспользуетесь этим, я предлагаю начать с oracle wiki.

На 2-ом подходе: Как я уже упоминал выше, автоматизации этой задачи является наилучшим подходом, на мой взгляд (по крайней мере, если вы имеете дело с многочисленными LIBS и непрерывными изменениями), поэтому я написал сценарий this с все необходимые инструкции по его использованию. После того, как вы получите новую банку, просто install это в вашем местном репо. Я использую Nexus, поэтому для меня это касалось нажатия кнопок пары.

P.S .: Любые комментарии/советы/улучшения в сценарии приветствуются.

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