I’m having this problem with Github Actions (continues integration) where the project i made in maven doesn’t succeed because the POM is referencing itself. However i have no idea how to fix this.
I have 4 modules in my project.
Pac – Parent, uses client,server,shared,UI
Client – uses shared
Server – uses client, shared
Shared – uses nothing
UI – uses client, shared
Github Actions after pushing:
[FATAL] 'dependencies.dependency.[fhict:client:1.0-SNAPSHOT]' for fhict:client:1.0-SNAPSHOT is referencing itself. @ fhict:Pac:1.0-SNAPSHOT, D:aPacman-MultiplayerPacman-Multiplayerpom.xml, line 37, column 21 [FATAL] 'dependencies.dependency.[fhict:server:1.0-SNAPSHOT]' for fhict:server:1.0-SNAPSHOT is referencing itself. @ fhict:Pac:1.0-SNAPSHOT, D:aPacman-MultiplayerPacman-Multiplayerpom.xml, line 43, column 21 [FATAL] 'dependencies.dependency.[fhict:shared:1.0-SNAPSHOT]' for fhict:shared:1.0-SNAPSHOT is referencing itself. @ fhict:Pac:1.0-SNAPSHOT, D:aPacman-MultiplayerPacman-Multiplayerpom.xml, line 31, column 21 @ Error: The build could not read 3 projects -> [Help 1] Error: Error: The project fhict:client:1.0-SNAPSHOT (D:aPacman-MultiplayerPacman-Multiplayerclientpom.xml) has 1 error Error: 'dependencies.dependency.[fhict:client:1.0-SNAPSHOT]' for fhict:client:1.0-SNAPSHOT is referencing itself. @ fhict:Pac:1.0-SNAPSHOT, D:aPacman-MultiplayerPacman-Multiplayerpom.xml, line 37, column 21 Error: Error: The project fhict:server:1.0-SNAPSHOT (D:aPacman-MultiplayerPacman-Multiplayerserverpom.xml) has 1 error Error: 'dependencies.dependency.[fhict:server:1.0-SNAPSHOT]' for fhict:server:1.0-SNAPSHOT is referencing itself. @ fhict:Pac:1.0-SNAPSHOT, D:aPacman-MultiplayerPacman-Multiplayerpom.xml, line 43, column 21 Error: Error: The project fhict:shared:1.0-SNAPSHOT (D:aPacman-MultiplayerPacman-Multiplayersharedpom.xml) has 1 error Error: 'dependencies.dependency.[fhict:shared:1.0-SNAPSHOT]' for fhict:shared:1.0-SNAPSHOT is referencing itself. @ fhict:Pac:1.0-SNAPSHOT, D:aPacman-MultiplayerPacman-Multiplayerpom.xml, line 31, column 21 Error: Error: To see the full stack trace of the errors, re-run Maven with the -e switch. Error: Re-run Maven using the -X switch to enable full debug logging. Error: Error: For more information about the errors and possible solutions, please read the following articles: Error: [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException Error: Process completed with exit code 1.
Pac POM:
<?xml version="1.0" encoding="UTF-8"?> <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>fhict</groupId> <artifactId>Pac</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <modules> <module>client</module> <module>server</module> <module>shared</module> <module>UI</module> </modules> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>5.7.0</version> <scope>test</scope> </dependency> <dependency> <groupId>fhict</groupId> <artifactId>shared</artifactId> <version>1.0-SNAPSHOT</version> <scope>test</scope> </dependency> <dependency> <groupId>fhict</groupId> <artifactId>client</artifactId> <version>1.0-SNAPSHOT</version> <scope>test</scope> </dependency> <dependency> <groupId>fhict</groupId> <artifactId>server</artifactId> <version>1.0-SNAPSHOT</version> <scope>test</scope> </dependency> </dependencies> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven-compiler-plugin.version>3.1</maven-compiler-plugin.version> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> </properties> <build> <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --> <plugins> <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle --> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.1.0</version> </plugin> <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging --> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.0.2</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>3.0.2</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> </plugin> <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle --> <plugin> <artifactId>maven-site-plugin</artifactId> <version>3.7.1</version> </plugin> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> <version>3.0.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.0</version> </plugin> </plugins> </pluginManagement> </build> </project>
Client POM:
<?xml version="1.0" encoding="UTF-8"?> <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"> <parent> <groupId>fhict</groupId> <artifactId>Pac</artifactId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>client</artifactId> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>11</source> <target>11</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version> </dependency> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>javax.ws.rs-api</artifactId> <version>2.1</version> <type>jar</type> </dependency> <dependency> <groupId>org.eclipse.jetty.websocket</groupId> <artifactId>javax-websocket-client-impl</artifactId> <version>9.4.15.v20190215</version> </dependency> <dependency> <groupId>fhict</groupId> <artifactId>shared</artifactId> <version>1.0-SNAPSHOT</version> <scope>compile</scope> </dependency> </dependencies> </project>
Server POM:
<?xml version="1.0" encoding="UTF-8"?> <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"> <parent> <groupId>fhict</groupId> <artifactId>Pac</artifactId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>server</artifactId> <dependencies> <dependency> <groupId>org.eclipse.jetty.websocket</groupId> <artifactId>javax-websocket-server-impl</artifactId> <version>9.4.15.v20190215</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version> </dependency> <dependency> <groupId>fhict</groupId> <artifactId>shared</artifactId> <version>1.0-SNAPSHOT</version> <scope>compile</scope> </dependency> <dependency> <groupId>fhict</groupId> <artifactId>client</artifactId> <version>1.0-SNAPSHOT</version> <scope>compile</scope> </dependency> </dependencies> </project>
Shared POM:
<?xml version="1.0" encoding="UTF-8"?> <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"> <parent> <groupId>fhict</groupId> <artifactId>Pac</artifactId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>shared</artifactId> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>9</source> <target>9</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.16</version> </dependency> </dependencies> </project>
UI POM:
<?xml version="1.0" encoding="UTF-8"?> <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"> <parent> <artifactId>Pac</artifactId> <groupId>fhict</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>UI</artifactId> <properties> <codeVersion>11</codeVersion> <openfxVersion>11.0.2</openfxVersion> <mavenVersion>3.8.0</mavenVersion> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>${openfxVersion}</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-graphics</artifactId> <version>${openfxVersion}</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-fxml</artifactId> <version>${openfxVersion}</version> </dependency> <!-- Junit5 for unit testing --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>5.6.2</version> <scope>test</scope> </dependency> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>javax.ws.rs-api</artifactId> <version>2.1</version> <type>jar</type> </dependency> <dependency> <groupId>fhict</groupId> <artifactId>client</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>fhict</groupId> <artifactId>shared</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies> </project>
Advertisement
Answer
Don’t add modules as dependencies in the parent project.
Just add them as modules.