Posso evitar um ciclo de dependência com uma borda sendo uma dependência de test
Considere atestCycle
pai com módulosDummyCore
eTestFramework
.
TestFramework
depende deDummyCore
eDummyCore
tem um dedepency de teste emTestFramework
.
A construção e teste de cada módulo independente do maven não têm problemas. Masmvn test
os paistestCycle
resulta em
The projects in the reactor contain a cyclic reference: Edge between 'Vertex{label='com.mysimpatico:TestFramework:1.0-SNAPSHOT'}' and 'Vertex{label='org.apache:DummyCore:1.0-SNAPSHOT'}' introduces to cycle in the graph org.apache:DummyCore:1.0-SNAPSHOT --> com.mysimpatico:TestFramework:1.0-SNAPSHOT --> org.apache:DummyCore:1.0-SNAPSHOT -> [Help 1]
To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.
For more information about the errors and possible solutions, please read the following articles:
[Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectCycleException
Reproduzir
wget http://dp4j.sf.net/debug/testCycle.zip
unzip testCycle.zip
cd testCycle; mvn test
Minha expectativa era que o maven construísseDummyCore
src e depois compilar os testes irá compilarTestFramework
src, que não depende deDummyCore
. Nesta fase, ele teria compiladoDummyCore
src + testes eTestFramework
src. Finalmente ele irá compilarDummyCore
testes também. Existe uma maneira de dizer ao maven para fazer isso? Caso contrário, como você resolveria isso?
Mova otests
emDummyCore
em um módulo próprio que depende deDummyCore
eTestFramework
? Eu faria isso apenas para satisfazer o mave