Local development
To run the code for your challenge locally, you’ll needjava
& mvn
installed. Our test runners use Java 21 (as of November 2023).
The script for your challenge (like ./your_bittorrent.sh
) will automatically compile your code using mvn
before executing it. It’ll
look something like this:
mvn
command will only be run once and then commented out. This ensures that each test only runs the java -jar ...
line.
File structure
- The files for your solution are placed in the
src/main/java
directory. src/main/java/Main.java
contains themain
function, which is what the test runner executes.
Adding more files
You can add more files and directories tosrc/main/java
. The test runner will include them when compiling your code.
For example, if you added a file at src/main/java/Foo.java
, you could use it like so:
src/main/java
are in the default
package. If you want to extract files into a different package,
you’ll need to add a package
declaration to the top of the file and change its location. Here’s what that’d look like:
Let’s say you wanted to extract Foo.java
into the com.example
package. Store Foo.java
at src/main/java/com/example/Foo.java
and add the following lines:
Use an IDE like IntelliJ IDEA which will automatically offer to move your file
to a directory matching the package name.
Adding dependencies
You can add dependencies to your project by adding them to yourpom.xml
file.
For example, to add the gson library, add the following to the <dependencies>
section in your pom.xml
: