Моя проблема: когда я запускаю «mvn package» из командной строки, он компилируется нормально, но когда я перестраиваю проект в IntelliJ IDEA (2018.3.2), он выдает сотни ошибок, говорящих «бла-бла-пакет не существует» или "не могу найти символ бла-бла".
Моя структура Maven состоит из родительского pom с 4 подмодулями (скажем, A, B, C, D), которые ссылаются на родительский pom. Модуль A ссылается на B & C. B & C каждый ссылается на D. Родитель имеет упаковку, установленную на «pom», а четыре модуля имеют упаковку на «jar». Я использую плагин maven-dependency-plugin для упаковки B, C, D в вывод A.
Этот бит должен быть важен: когда я щелкаю правой кнопкой мыши по любому из проектов (A, B, C или D) в проводнике проектов IDEA и нажимаю перестроить, каждый из них собирается без проблем. Когда я щелкаю правой кнопкой мыши по родительскому проекту и нажимаю rebuild (или просто нажимаю Ctrl + Shift + F9), я получаю эти ошибки о пакетах или символах, которые не найдены. Исходные файлы с сообщениями об ошибках находятся в модуле A, который, как я уже сказал, компилируется без проблем.
Более того: все зависимости модуля A (естественно) определены под pom модуля A. Если я перемещаю зависимости в родительский pom, проблема исчезает, и все компилируются нормально, но когда я перемещаю зависимости обратно в pom модуля A., снова возникают проблемы.
Понятия не имею, почему модуль A сам прекрасно компилируется и почему родительский pom пытается скомпилировать исходный код модуля A.
Я рассматривал похожие вопросы о стековом потоке, касающиеся компиляции maven без проблем, но IDEA выдавал ошибки, пытался реимпортировать, переиндексировать, аннулировать кеши. Ни одно из предложенных решений не устранило мою проблему.
Любые предложения приветствуются
Редактировать: вот pom.xml, который я использую. (Я не могу получить так, чтобы правильно отобразить тег проекта, извините)
pom для модулей B, C и DI, на мой взгляд, не имеют значения на данном этапе, потому что я понял, что эта ошибка возникает в версии кода, где модуль A не содержит код, который зависит от модулей B, C или D. Ниже приведены pom .xml, которые вызывают эту ошибку, и модули B, C и D не видны.
Также, используя maven в комплекте с Atlassian Plugin SDK, который является Maven 3.2.1
Parent pom.xml
<?xml version="1.0" encoding="UTF-8"?>
http://maven.apache.org/maven-v4_0_0.xsd">
tr.com.my-organization.sdlc.pom
Корневой-П-атль
3.1.0
<modelVersion>4.0.0</modelVersion>
<groupId>tr.com.my-organization</groupId>
<artifactId>my-project-aggregator</artifactId>
<packaging>pom</packaging>
<version>2.1.0.1</version>
<modules>
<module>moduleD</module>
<module>moduleC</module>
<module>moduleB</module>
<module>moduleA</module>
</modules>
<name>My Project Aggregator POM</name>
<properties>
<dep.amps.version>5.0.3</dep.amps.version>
<dep.jira.version>7.0.0</dep.jira.version>
<buildNumber>1</buildNumber>
<pkg.build.javaVersion>1.8</pkg.build.javaVersion>
<dep.httpclient.version>4.3.4</dep.httpclient.version>
<dep.testkit.version>5.2.26</dep.testkit.version>
<dep.servlet.version>2.4</dep.servlet.version>
<dep.junit.version>4.10</dep.junit.version>
<dep.javax.version>1.1.1</dep.javax.version>
<dep.gson.version>2.3</dep.gson.version>
<dep.slf4j.version>1.6.6</dep.slf4j.version>
<dep.mockito.version>1.8.5</dep.mockito.version>
<dep.template.version>1.3.1</dep.template.version>
<dep.springosgi.version>1.1.3</dep.springosgi.version>
<dep.springcontext.version>2.5.6.SEC02</dep.springcontext.version>
<dep.ao.version>0.19.7</dep.ao.version>
<dep.commons-lang.version>2.4</dep.commons-lang.version>
<dep.jira-greenhopper.version>6.4.1</dep.jira-greenhopper.version>
<upm.license.compatibility.version>2.0.1</upm.license.compatibility.version>
<sal.api.version>2.4.0</sal.api.version>
<useFastdevCli>false</useFastdevCli>
</properties>
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>bamboo</id>
<properties>
<buildNumber>${bambooBuildNumber}</buildNumber>
</properties>
</profile>
</profiles>
pom.xml для модуля A
<?xml version="1.0" encoding="UTF-8"?>
http://maven.apache.org/xsd/maven-4.0.0.xsd">
tr.com.my-организация
мой-проект-агрегатор
2.1.0.1
../
<modelVersion>4.0.0</modelVersion>
<artifactId>moduleA</artifactId>
<packaging>atlassian-plugin</packaging>
<properties>
<pkg.build.javaVersion>1.8</pkg.build.javaVersion>
<dep.httpclient.version>4.3.4</dep.httpclient.version>
<dep.testkit.version>5.2.26</dep.testkit.version>
<dep.servlet.version>2.4</dep.servlet.version>
<dep.junit.version>4.10</dep.junit.version>
<dep.javax.version>1.1.1</dep.javax.version>
<dep.gson.version>2.3</dep.gson.version>
<dep.slf4j.version>1.6.6</dep.slf4j.version>
<dep.mockito.version>1.8.5</dep.mockito.version>
<dep.template.version>1.3.1</dep.template.version>
<dep.springosgi.version>1.1.3</dep.springosgi.version>
<dep.springcontext.version>2.5.6.SEC02</dep.springcontext.version>
<dep.ao.version>0.19.7</dep.ao.version>
<dep.commons-lang.version>2.4</dep.commons-lang.version>
<dep.jira-greenhopper.version>6.4.1</dep.jira-greenhopper.version>
<upm.license.compatibility.version>2.0.1</upm.license.compatibility.version>
<sal.api.version>2.4.0</sal.api.version>
<useFastdevCli>false</useFastdevCli>
</properties>
<dependencies>
<dependency>
<groupId>com.atlassian.jira</groupId>
<artifactId>jira-api</artifactId>
<version>${dep.jira.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.osgi</groupId>
<artifactId>spring-osgi-core</artifactId>
<version>${dep.springosgi.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${dep.springcontext.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${dep.junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.atlassian.plugins</groupId>
<artifactId>atlassian-plugins-osgi-testrunner</artifactId>
<version>1.2.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>${dep.javax.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.2-atlassian-1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${dep.servlet.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${dep.slf4j.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${dep.httpclient.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>${dep.mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.atlassian.templaterenderer</groupId>
<artifactId>atlassian-template-renderer-api</artifactId>
<version>${dep.template.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>${dep.commons-lang.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.atlassian.jira.plugins</groupId>
<artifactId>jira-greenhopper-plugin</artifactId>
<version>${dep.jira-greenhopper.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.atlassian.activeobjects</groupId>
<artifactId>activeobjects-plugin</artifactId>
<version>${dep.ao.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.atlassian.upm</groupId>
<artifactId>licensing-api</artifactId>
<version>${upm.license.compatibility.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.atlassian.upm</groupId>
<artifactId>upm-api</artifactId>
<version>${upm.license.compatibility.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.atlassian.sal</groupId>
<artifactId>sal-api</artifactId>
<version>${sal.api.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-jira-plugin</artifactId>
<version>${dep.amps.version}</version>
<extensions>true</extensions>
<configuration>
<productVersion>${dep.jira.version}</productVersion>
<productDataVersion>${dep.jira.version}</productDataVersion>
<enableQuickReload>true</enableQuickReload>
<enableFastdev>false</enableFastdev>
</configuration>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-storage-plugin</id>
<phase>process-resources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
<includeArtifactIds>plugin-license-storage-plugin</includeArtifactIds>
<stripVersion>true</stripVersion>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>