Sublime Text 2 build system to compile & run Java in a new Terminal/Command Prompt window?

后端 未结 3 1681
甜味超标
甜味超标 2020-12-16 23:28

I would like to make a build system in Sublime Text 2 that will compile a Java file, and then run it in a new Terminal (for OS X or Linux) or Command Prompt

3条回答
  •  有刺的猬
    2020-12-16 23:52

    Here's the "polite" (read: short and readable) version of what I did to make this work.

    • This is a starting point only. Full impl is a blog post, not an answer.
    • Assumes: OS X, xterm, no package hierarchy, etc.
    • Package/project stuff is relatively straight-forward, but IMO awkward.
    • I don't have a complete solution that's cross-OS or that takes weird directories into account.
    • My real version makes some assumptions that may or may not work for the rest of the world.
    • My real version uses Ant or Maven, which solves many problems, but not all.
    • Some of this can be wrapped up in the sublime-build file, but…
    • …for me it's easier this way because of other stuff not shown here.

    Nutshell (Simplification): compile and run through a shell script in order to get a new window.

    Script

    cd $1
    /usr/bin/javac $2
    /usr/X11/bin/xterm -e "/bin/bash -c \"/usr/bin/java $3; echo 'Press ENTER to quit...'; read line\""
    

    JavaC.sublime-build

    {
      "cmd": ["~/bin/run-java.sh $file_path $file $file_base_name"],
      "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
      "path": "/usr/bin/java",
      "selector": "source.java",
      "shell": true
    }
    

    In real life it's a bit more complex.

    All this said, I never really do anything with console input in Java proper; I do it via either a Groovy or JRuby REPL, or allow stubbing of input/output sources/destinations, or… but not in Java, and not from Sublime Text 2–I use an IDE for Java development. Anything else is a waste of my time, even for short, experimental stuff.

提交回复
热议问题