2
respostas

Como solucionar o erro no Pom.xml quando é criado dois projetos Spring, onde as classes se referenciam?

Boa tarde turma, hoje o spring sugou todo meu sangue hehe. Tentei vários meios para solucionar isso e não consegui, mesmo criando o JAR e importando no projeto de ambos, e também colocando a dependencia no POM não funciona.

Meu projeto real precisa das duas classes, pois utiliza o JPA para persistir. Na IDE do Intelij fica acusando erro ciclico.

Seguinte: Criei dois projeto com as mesmas caracteristicas no spring Initializr.

// No Projeto A
import com.projetob.ClasseB;

public class ClasseA {

    // Atributo do ProjetoB
    private ClasseB classeB;
    
}

// No Projeto B
import com.projetoa.ClasseA;

public class ClasseB {

    // Atributo do ProjetoA
    private ClasseA classeA;
    
}

No Pom.xml do ProjetoA

<dependency>
    <groupId>com.projetob</groupId>
    <artifactId>projeto-b</artifactId>
    <version>1.0.0</version>
</dependency>

No Pom.xml do ProjetoB

<dependency>
    <groupId>com.projetoa</groupId>
    <artifactId>projeto-a</artifactId>
    <version>1.0.0</version>
</dependency>
2 respostas

Oi, boa noite! Você já tentou refatorar seu código para algo tipo assim:

// No Projeto A
import com.projetob.ClasseB;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;

public class ClasseA {

private ClasseB classeB;

@Autowired
public void setClasseB(@Lazy ClasseB classeB) {
this.classeB = classeB;
}
}

// No Projeto B
import com.projetoa.ClasseA;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;

public class ClasseB {

private ClasseA classeA;

@Autowired
public void setClasseA(@Lazy ClasseA classeA) {
this.classeA = classeA;
}
}

Obrigado pelo retorno, vou tentar aqui.