How To Submit

From CMSC 420

For any method, you will need to first download the starter files from the submit server. Under the projects main page, click 'download' under 'download starter files' for the appropriate project. You will need the .submit file in this archive.

Download Submit Files[edit]

  • Here the the submit file for part1.
  • The wiki does not allow to upload .submit, (it is named REMOVETHIS.submit) rename it as ".submit" and put it into the root directory of your project folder.

Using Eclipse[edit]

Method 1: Course Project Manager Plugin[edit]

This is the easiest method; however, to use this method, your Eclipse project needs to be in CVS.

  1. Download and install the Course Project Manager Plugin for Eclipse.
  2. Ensure that you have the .submit file from the starter files in your project root directory, and that your project is under revision control using CVS.
  3. Right-click your project -> Properties -> Course Project Management -> check enable.
  • To submit: right-click the project and choose Submit. You may get a weird message on your first submit, but it will still go through.

Documentation on the Eclipse plugin can be found on the submit server.

Go to submit server to check that it worked.

Method 2: Create a Jar file and Submit Via The Web[edit]

You can also submit via the web. This method does not require your project to be in CVS.

  1. Right-click on your project, select Export...
  2. Choose Java -> Jar file (General -> Archive File will also work)
  3. Check only the .java files that you wrote for this assignment, as well as the .submit, .classpath, and .project files.
  4. Ensure 'Export java source files and resources' is checked; do not export anything else (clear the other Export checkboxes). You do not need to submit your .class files.
  5. Give the file a name and put it in a location you will remember.
  6. Click Next and then Finish.
  7. Navigate to the submit server in your browser.
  8. Click 'submit' under the correct project number and upload the .jar file you just created.

You may find this Ant build file useful for automating the process of creating a jar file. Put it in your project root directory, then right-click it and choose Run As -> Ant Build. It will create a file called meeshquest-part1-sp07-submission.jar in your project root directory, which you can then submit via the web.

Hard-Core Command Line H4X0RZ[edit]

You just need to make a .jar or .zip file that includes your Java sources and the .submit file from the starter files. You can then submit this via the web interface, or using the command-line submission tool.

Command Line Submission:

  1. Ensure your project root directory, let's call it projectroot, contains the .submit file.
  2. Download submit.jar to someplace you will remember; let's say ~/bin/
  3. cd projectroot
  4. java -jar ~/bin/submit.jar
  • The first time you submit it will ask you for your password. After that, it will store a "one-time password" (which can be used as many times as you want for a given project) unencrypted in a text file called .submitUser in your project root directory. 414 Pop Quiz: is this good security?
  • Prior to version 1.6, Java did not have a way to avoid echoing characters to the console as you typed them. If you run the command line submission tool, you may see the characters of your password briefly echoed to the screen, and then erased. You don't need 414 to know that that's not good security.
  • Want to know how submissions work under the hood, while not exposing your password or storing it in plaintext on your hard drive, while removing the need for a .submit file? Check out Also interesting as an example of things that just shouldn't be done in shellcode.

For less hard-core Unix hackers, see the Marmoset command line submission documentation.