One build command
A good repo is not just source code. It has a build tool so another builder can clone it and run one clear command.
Use Maven or Gradle. For this track, Maven is the simpler default because many Java examples and college labs already use it.
What Maven does
Maven reads a file named pom.xml. That file tells Maven your Java version, dependencies, and how to compile the app.
You do not need to install every library by hand. If your project uses a JSON library, Maven downloads it from its central repository during the build.
Small Maven file
Put this pom.xml in the root of your project. Update the groupId, artifactId, and mainClass for your app.
This example uses Java 17 and creates a runnable CLI jar with dependencies included.
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>in.hackindia</groupId>
<artifactId>recruiter-cli</artifactId>
<version>1.0.0</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.17.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.6.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>in.hackindia.recruiter.Main</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>Standard layout
Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.
0 of 5 done
Build and run
From the project root, run these commands. This is what another builder should be able to do after cloning your repo.
mvn clean package
java -jar target/recruiter-cli-1.0.0.jar data/candidates.jsonCommon build mistake
Do not write instructions that only work in your IDE. HackIndia reviewers and other builders may use VS Code, IntelliJ, Eclipse, or only the terminal.
Your project should build from a fresh clone. If it needs a manual library download or a local absolute path like C:\Users\name\file.json, fix that.
Use AI carefully
You can ask ChatGPT, Gemini, or Claude to draft a pom.xml. Paste your package name, main class, Java version, and dependencies.
Check the result. Make sure the mainClass is real, the dependency versions exist, and the commands work on your machine before you commit.
Do this now
Do each one yourself, then tap it to tick it off. The ticks are only a checklist for you: they are not marked or scored.
0 of 5 done