Ограничение доступных бобов через Maven - PullRequest
0 голосов
/ 22 июня 2011

Я использую Maven для управления своим веб-приложением с помощью Spring.У меня есть две основные директории - / src / main / java и / src / test / java, где находятся все тестируемые компоненты (тесты, макеты и т. Д.).Тесты проходят гладко как из командной строки maven, так и из моей IDE.Проблема в том, что когда я развертываю свое приложение и получаю это сообщение:

java.lang.IllegalStateException: More than one bean of type    [pl.m4ks.comics.dao.IComicDAO] found, you have to specify the name of the bean (@SpringBean(name="foo")) in order to resolve this conflict. Matched beans: comicDAO,comicDAOMock
 at org.apache.wicket.spring.injection.annot.AnnotProxyFieldValueFactory.getBeanNameOfClass(AnnotProxyFieldValueFactory.java:231)

Но проблема в том, что comicDAOMock находится в каталоге / scr / test и не должен быть виден во время не тестового развертывания!Я использую

<context:component-scan base-package="pl.m4ks.comics"/>
<context:annotation-config />

в моем context.xml (для тестирования я использую другой контекст, в котором бины подключаются вручную).

В pom.xml у меня есть:

        <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**</include>
            </includes>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**</include>
            </includes>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
    </resources>

    <testResources>
        <testResource>
            <directory>src/test/java</directory>
            <includes>
                <include>**</include>
            </includes>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </testResource>
        <testResource>
            <directory>src/test/resources</directory>
            <includes>
                <include>**</include>
            </includes>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </testResource>
    </testResources>

Так что я думал, что разделил их.Как я могу решить эту проблему, я имею в виду полностью исключить все средства тестирования из моего запуска развертывания (я запускаю по команде 'mvn jetty: run')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...