Maven cycle dependency
Your parent pom depends on your modules which depend on your parent pom.
What you could have done is add to your parent pom
<modules>
<module>module1</module>
<module>module2</module>
</module>
Your modules have to be subdirectories with the names you give them.
Comments
-
greengold almost 2 years
I'm new to Maven and Im trying to make my own Java EE Maven project with some frameworks... I have started with two modules and one parent module. The problem is that Im getting this error when Im issue mvn clean:
[ERROR] The projects in the reactor contain a cyclic reference: Edge between 'Vertex{label='org.tepo:Jporto-web:0.0.1-SNAPSHOT'}' and 'Vertex{label='org.tepo:Jporto-ejb:0.0.1-SNAPSHOT'}' introduces to cycle in the graph org.tepo:Jporto-ejb:0.0.1-SNAPSHOT --> org.tepo:Jporto-web:0.0.1-SNAPSHOT --> org.tepo:Jporto-ejb:0.0.1-SNAPSHOT -> [Help 1]
I know what cycle dependency is, but I can not see such a thing in my poms. Here They are: parent POM:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.tepo</groupId> <artifactId>Jporto</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <name>jsf library tutto</name> <description>fiesta prego grande</description> <dependencies> <dependency> <groupId>org.tepo</groupId> <artifactId>Jporto-ejb</artifactId> <version>0.0.1-SNAPSHOT</version> <type>ejb</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.tepo</groupId> <artifactId>Jporto-web</artifactId> <version>0.0.1-SNAPSHOT</version> <type>war</type> <scope>compile</scope> </dependency> </dependencies> <modules> <module>Jporto-ejb</module> <module>Jporto-web</module> </modules> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <inherited>true</inherited> <configuration> <source>1.6</source> <target>1.6</target> <encoding>UTF-8</encoding> <version>2.5.1</version> </configuration> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <artifactId>maven-ejb-plugin</artifactId> <inherited>true</inherited> <configuration> <ejbVersion>3.1</ejbVersion> </configuration> </plugin> </plugins> </build> </project>
WEB module:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <artifactId>Jporto</artifactId> <groupId>org.tepo</groupId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>Jporto-web</artifactId> <groupId>org.tepo</groupId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <dependencies> <dependency> <groupId>javax.jms</groupId> <artifactId>jms</artifactId> <version>1.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.transaction</groupId> <artifactId>jta</artifactId> <version>1.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4.0.0.Final</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>4.0.0.Final</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.0-api</artifactId> <version>1.0.1.Final</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.jboss.spec.javax.servlet</groupId> <artifactId>jboss-servlet-api_3.0_spec</artifactId> <version>1.0.0.Final</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.faces</groupId> <artifactId>javax.faces-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency> </dependencies> </project>
EJB module:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <artifactId>Jporto</artifactId> <groupId>org.tepo</groupId> <version>0.0.1-SNAPSHOT</version> </parent> <groupId>org.tepo</groupId> <artifactId>Jporto-ejb</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>ejb</packaging> <dependencies> <dependency> <groupId>org.jboss.as</groupId> <artifactId>jboss-as-ejb3</artifactId> <version>7.1.0.CR1b</version> <type>jar</type> <scope>provided</scope> </dependency> </dependencies> </project>
Please, can ypu explain to me why Im getting this error ? also, eclipse gives this error on pom file of web module: Missing artifact org.tepo:Jporto-web:war:0.0.1-SNAPSHOT:compile and Missing artifact org.tepo:Jporto-ejb:ejb:0.0.1-SNAPSHOT:compile on web module... Thank you for your help!