Не удается разрешить ошибку типа при выполнении сборки maven - PullRequest
0 голосов
/ 18 июля 2011

Я получаю следующую ошибку при попытке выполнить сборку командной строки maven:

[ОШИБКА] /trunk/application/web/src/test/java/com/morrislgn/ec/dms/controller/MyControllerTest.java:96:0::0 Невозможно разрешить тип BuilderType для типа Вызвано: org.codehaus.mojo.aspectj.CompilationFailedException: ошибки компилятора: ошибка при импорте статического com.morrislgn.ec.dms.common.domain.BuilderType. *;

Однако, когда я запускаю этот тестовый класс из Eclipse, эти тесты запускаются, как и ожидалось. Я посмотрел на зависимости и добавил общий проект в качестве зависимости, на путь класса и т. Д. Без всякой радости.

У кого-нибудь есть другие идеи относительно того, что может быть причиной этой проблемы?

Заранее спасибо,

1011 * Моррис *

Ответы [ 2 ]

0 голосов
/ 28 июля 2011

Хорошо, найдено решение.

упомянутый выше класс builder находится в каталоге src \ test \ main в общем проекте, который у меня был.Таким образом, он не был встроен в общий jar.

У меня есть веб-проект, который зависел от общего jar, в свою очередь, использовал BuilderType в своем тесте.В «Затмении» все это можно было решить, так как казалось, что оно способно связать все вместе.

Сборка из командной строки с использованием maven, однако, отличалась, так как это основывалось на файлах jar, а не файлах java.

Чтобы обойти это, в инструкции по сборке был добавлен файл jar тестовых классовв POM для общего проекта:

    <build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>2.2</version>
      <executions>
        <execution>
          <id>jar_it</id>
          <phase>compile</phase>
          <goals>
            <goal>jar</goal>
          </goals>
        </execution>      
        <execution>
          <goals>
            <goal>test-jar</goal>
          </goals>
        </execution>
      </executions>
    </plugin>   
  </plugins>
</build>

И затем в веб-проект была добавлена ​​зависимость, чтобы он мог использовать этот jar.

        <dependency>
        <groupId>group.id</groupId>
        <artifactId>common</artifactId>
        <version>${project.version}</version>
        <scope>test</scope>
        <classifier>tests</classifier>
    </dependency>

Работа выполнена.:)

0 голосов
/ 19 июля 2011

Я думаю, вам нужны какие-то зависимости от конфигурации плагина aspectj. Тип, который вам нужен, зависит от того, откуда должен отсутствовать отсутствующий класс BuilderType. Если вы можете объяснить, что кто-то может быть более конкретным. См. документацию к плагину , особенно здесь и здесь (при условии, что вы компилируете тест - см. Цель compile . Я не являюсь пользователем аспекта - если кто-то читает это, пожалуйста, взвесьте!

Пожалуйста, опубликуйте соответствующие части вашего pom и объясните, откуда должен быть BuilderType.

...