Maven "файл класса для ... не найден" ошибка компиляции - PullRequest
8 голосов
/ 14 марта 2012

У меня есть проект Maven. Когда я пытаюсь собрать его с помощью Maven, я получаю эту ошибку:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.
  3.2:compile (default-compile) on project myProject: Compilation failure:
  Compilation failure:
[ERROR] ClassA.java:[32,38] cannot access ClassB
[ERROR] class file for ClassB not found

ClassB находится внутри другого артефакта, и этот артефакт находится в локальном хранилище. На самом деле, у меня нет проблем с созданием этого проекта с помощью плагина m2eclipse Maven. Только когда я запускаю mvn compile, сборка завершается неудачей.

Что мне нужно сделать для сборки из командной строки?

Ответы [ 3 ]

2 голосов
/ 14 марта 2012

Eclipse может обходить ваши зависимости pom и «помогать» вам, находя зависимость, которой нет в вашем pom. Тогда, когда вы запускаете из командной строки, затмение уже не поможет. Я бы дважды проверил ваш pom, чтобы вы явно указали зависимость. Вы также можете попробовать

mvn dependency:analyze

для получения дополнительной информации.

1 голос
/ 14 марта 2012

Похоже, вы определили обычный класс в пределах src / test / java вместо области src / main / java, что иногда является проблемой, поскольку затмение ведет себя немного по-другому.

0 голосов
/ 05 июня 2012

добавить в pom.xml:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
                <encoding>UTF-8</encoding>
                <compilerArguments>
                    <extdirs>src\main\webapp\WEB-INF\lib</extdirs>
                </compilerArguments>
            </configuration>
        </plugin>
    </plugins>
</build>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...