Cześć.
Buduje projekt spring boot + angular4 w mavenie, który składa się z 2 modułów "backend" i "frontend". Skonfigurowany jest w taki sposób, że podczas budowania projektu cały bundle z modułu "front" trafia do resource/static, które są w backend, ale to jest rozwiązanie na profil produkcyjny. Drugie rozwiązanie to profil "dev", żeby za każdym przebudowaniem backendu nie ciągnęło tez frontu, bo trwa to latami i angular stoi wtedy sobie na node jako proxy. Więc próbuję stworzyć 2 profile w mavenie do budowania projektu dev i prod. W tym celu w parent pom stworzyłem 2 profile. Dev ma zawierać tylko moduł backendowy, a prod oba moduły. Problem jest z tym, że w pomie backendu mam front jako dependencję, wrzuciłem je jako customowe propertiesy zdefiniowane w profilu w parencie, ale w child pom ide krzyczy mi, że "Cannot resolve symbol ...". Jak odpalam profil produkcyjny to działa ale dev nie ...(odpalam z komenda mvn clean install -P<profil>) W jaki sposób mogę to rozwiązać? Powyższe rozwiązanie znalazłem na stacku, ale jak widać nie jest dobre, czegoś pewnie brakuje w związku z zależnościami.
**
Parent POM:**
<profiles>
<profile>
<id>prod</id>
<modules>
<module>backend</module>
<module>frontend</module>
</modules>
<properties>
<frontGroup>com.someGroup</frontGroup>
<frontArtifact>frontend</frontArtifact>
<frontVersion>${project.version}</frontVersion>
<frontScope>runtime</frontScope>
</properties>
</profile>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<modules>
<module>backend</module>
</modules>
</profile>
</profiles>
backend POM:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--Cannot resolve symbol....-->
<dependency>
<groupId>${frontGroup}</groupId>
<artifactId>${frontArtifact}</artifactId>
<version>${project.version}</version>
<scope>${frontScope}</scope>
</dependency>
</dependencies>
**Frontend POM: **zawiera plugin "frontend-maven-plugin" do instalacji pakietów, budowy projektu i wrzucania go do /static na backendzie.