2

I am trying to compile and run .java files with Sublime Text 2, on my Ubuntu 12.04 (Precise Pangolin) 64-bit system and I get some errors.

My java -version output:

java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)

And here is my JavaC.sublime-build file contents:

{
    "cmd": ["javac", "$file_name","&&","java", "$file_base_name"],
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.java",
    "shell": true
}

And finally my .java file, bob.java

public class bob{
    public static void main(){
        System.out.println("Sublime Text 2!");
    }
}

Here is the result.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Dan Cantir
  • 177
  • 2
  • 12

2 Answers2

2

I think there is a format change in how Sublime Text 2 handles the cmd tag. An alternative solution would be:

{
    "cmd": ["javac", "$file_name"],
    "cmd": ["java", "$file_base_name"],
    "working_dir": "${project_path:${folder}}",
    "selector": "source.java"
}

Credits: DevinClark / JavaCandR.sublime-build

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Archan Mishra
  • 887
  • 7
  • 18
1

This fixed my problem:

{
    "cmd": ["javac \"$file_name\" && java \"$file_base_name\""],
    "shell": true,
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.java"
}

Ubuntu 12.04 64-bit, Sublime Text 2.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Dan Cantir
  • 177
  • 2
  • 12