ошибка компиляции maven

Пропустить по значению для малых типов.

Пропустить ссылки const для больших типов (определение большого может варьироваться между машинами). НО, в C ++ 11, переходите по значению, если вы собираетесь потребляйте данные, так как вы можете использовать семантику перемещения. Например:

class Person {
 public:
  Person(std::string name) : name_(std::move(name)) {}
 private:
  std::string name_;
};

Теперь вызывающий код будет делать:

Person p(std::string("Albert"));

И только один объект будет создан и перемещен непосредственно в член name_ в классе Person , Если вы перейдете по ссылке const, необходимо будет скопировать его в name_.

24
задан Andrii Kalytiiuk 20 August 2014 в 07:31
поделиться

9 ответов

У меня была та же проблема, и вот как я предлагаю вам ее исправить:

Выполните:

mvn dependency:list

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

Если да, перезапустите его с флагом -X:

mvn dependency:list -X

, чтобы увидеть подробную информацию о том, на что жалуется maven (может быть много выходных данных для флага -X)

В моем случае была проблема в зависимом модуле maven pom.xml - с управляемой зависимостью. Хотя была версия для управляемой зависимости, определенной в родительском pom, Maven не смог ее разрешить и жаловался на отсутствующую версию в зависимом pom.xml

, поэтому я просто настроил отсутствующую версию, и проблема исчезла.

10
ответ дан thejartender 20 August 2014 в 07:31
поделиться

Если с вашими зависимостями все в порядке (проверьте с помощью mvn dependency: list), как у меня, то это сбой maven, если вы используете Eclipse, сделайте:

  1. Щелкните правой кнопкой мыши проект> Maven> Обновить проект ...
  2. Проверьте все, кроме в автономном режиме
  3. OK

Вы должны быть хорошими.

Я не знаю эквивалентных команд mvn, если кто-то может их опубликовать, они могут быть полезны.

0
ответ дан Gandacarola 20 August 2014 в 07:31
поделиться

Внутри ваших классов, от которых жалуется maven, есть некоторая зависимость, которая принадлежит некоторой попытке jar. Эти jar пересобираются с помощью команды maven, я использую эту команду mvn clean install -DskipTests=true должна работать в этом случае, когда некоторые символы из классов отсутствует

0
ответ дан ViliDuarte1 20 August 2014 в 07:31
поделиться

У меня была такая же проблема ...

Как исправить - добавьте следующие свойства в pom.xml

<properties>
    <!--  compiler settings -->
    <maven.compiler.source>1.6</maven.compiler.source>
    <maven.compiler.target>1.6</maven.compiler.target>
</properties>        
1
ответ дан akjoshi 20 August 2014 в 07:31
поделиться

Попробуйте использовать:

mvn clean package install

Эта команда должна установить ваши артефакты в вашем локальном репозитории Maven.

PS: я вижу, что это старый вопрос, но он может быть полезен для кого-то в будущем.

7
ответ дан user527987 20 August 2014 в 07:31
поделиться

Ошибка довольно ясна: «не могу найти символ». Некоторые зависимости не могут быть разрешены (у вас даже есть строка и столбец в трассировке ссылки, которые не могут быть разрешены):

V:/dhs_tss_build_view/dhs_tssproject/tss/tsscommon-server/src/main/java/us/mn/state/dhs/tss/common/oblix/da/wsdl/OblixLoginAc
cess.java:[51,60] cannot find symbol
symbol  : class BusinessException
location: class us.mn.state.dhs.tss.common.oblix.da.wsdl.OblixLoginAccess

V:/dhs_tss_build_view/dhs_tssproject/tss/tsscommon-server/src/main/java/us/mn/state/dhs/tss/common/app/da/ldap/BaseLdapImpl.j
ava:[187,14] cannot find symbol
symbol  : class Phone
location: class us.mn.state.dhs.tss.common.app.da.ldap.BaseLdapImpl

V:/dhs_tss_build_view/dhs_tssproject/tss/tsscommon-server/src/main/java/us/mn/state/dhs/tss/common/app/da/ldap/BaseLdapImpl.j
ava:[204,14] cannot find symbol
symbol  : class Phone
location: class us.mn.state.dhs.tss.common.app.da.ldap.BaseLdapImpl

Ниже приведено несколько вещей для проверки:

  • Проверьте или перепроверьте, чтобы эти классы были в банке A (та же версия, что и в pom)
  • Проверьте или перепроверьте оператор импорта в источниках B (должен соответствовать пакету классов в A)
  • Проверьте или перепроверьте p's.xml B и особенно объявление зависимости от A (его версия)
  • Проверьте, что зависимость от A не исключается транзитивно где-то в B pom
  • Является ли зависимость SNAPSHOT? Если нет, удалите A из локального репозитория и восстановите

Maven работает нормально, у вас где-то ошибка.

1
ответ дан Pascal Thivent 20 August 2014 в 07:31
поделиться

Сейчас я также встретился, проблема

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project entry-api: Compilation failure: Compilation failure:

package com.foo.entry.common.domain does not exist
package com.foo.entry.common.model does not exist
package com.foo.entry.common.service does not exist
package com.foo.entry.common.util does not exist

Заняла долгое время, получил причину, которая является одной из банки зависимости, пружинная начальная загрузка fat jar, таким образом, решением является перемещение ниже кода в его pom.xml

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
0
ответ дан 28 November 2019 в 07:42
поделиться

Я предполагаю, что это неправильная версия проекта A jar в вашем локальном репозитории maven. Кажется, что зависимость разрешена, иначе я думаю, что maven не начинает компиляцию, но обычно эти ошибки компиляции означают, что у вас есть смешанная версия. попробуйте выполнить maven clean install вашего проекта A и посмотрите, не изменится ли что-то для проекта B ... Также может быть полезно немного больше информации о ваших настройках:

  • Как запускается maven? какая команда? в оболочке, в среде IDE (с использованием плагина или без него), на сервере CI?
  • Какую команду maven вы используете?
1
ответ дан 28 November 2019 в 07:42
поделиться

Вы можете попробовать запустить команду "mvn site" и посмотреть, какие транзитивные зависимости у вас есть, а затем разрешить потенциальные конфликты (пропустив где-то неявную зависимость). Просто предположение (немного сложно понять, в чем может быть проблема, не просматривая информацию о помпе) ...

2
ответ дан 28 November 2019 в 07:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: