-
-
Save DevinClark/1633819 to your computer and use it in GitHub Desktop.
{ | |
"cmd": ["javac", "$file_name"], | |
"cmd": ["java", "$file_base_name"], | |
"working_dir": "${project_path:${folder}}", | |
"selector": "source.java" | |
} |
{
"cmd": ["javac", "$file_name", "&&", "java", "$file_base_name"],
"working_dir": "${project_path:${folder}}",
"selector": "source.java",
"shell": true
}
hey, what if I want to import some external jars?
I just did it very similar to what dblandin showed, actually its identical to what he did except for that bash script:
#!/bin/bash
# compiles all java files within directory and runs first argument
for file in *.java
do
echo "Compiling $file"
javac $file
done
gnome-terminal -e "bash -c \"java $1; echo 'Press ENTER to quit...'; read line\$
The running of program in Sublime's console was buggy.. I tried to mess around with it.. Things like infinite loops would leave sublime hanging.. Or if id wanna take input from keyoboard, it wouldn't work either. This bash script does exact same thing as far as compiling goes. But when it comes to running program it opens it in new terminal window.
I want to do what vgaldikas has done but for mac osx lion. Can anyone help?
Thanks
If you look at the .sublime-buid for C++, for example, you can have multiple commands easily
{
"cmd": ["javac", "$file"],
"file_regex": "^(..._?):([0-9]_):?([0-9]*)",
"selector": "source.java",
"variants":
[
{
"name": "Run",
"cmd": ["java", "${file_base_name}"]
}
]
}
use this bash script if you want it to automatically run in os x terminal
#!/bin/bash
# compiles all java files within directory and runs first in new terminal window.
for file in *.java
do
echo "Compiling $file"
javac $file
done
echo "Running $1.class"
echo -e "cd \`dirname \$0\`\nclear\njava $1\necho ________________________________________________________________________________\nread -p \042Program Terminated. [Press ENTER] to continue.\042\nrm -f sayhi.command" > sayhi.command; chmod +x sayhi.command; open sayhi.command;
Updated, use this one:
#!/bin/bash
# compiles all java files within directory and runs the one being edited in new terminal window.
for file in *.java
do
echo "Compiling $file"
done
javac *.java
RETVAL=$?
[ $RETVAL -ne 0 ] && exit
[ $RETVAL -eq 0 ] && (
echo "Compile Success! :)";
echo "Running $1.class";
#Create temporary file (in current directory) to execute compiled java class.
#Deletes itself after execution.
echo -e "cd \`dirname \$0\`\nclear\njava $1\necho ________________________________________________________________________________\nread -p \042Program Executed. [Press ENTER] to continue.\042\nrm -f sayhi.command" > sayhi.command;
chmod +x sayhi.command; open sayhi.command;
)
works well on my windows 8.1:)
It seems that the Sublime Build System only allows for one cmd. The most common solution I've found is to make a bash script with multiple commands and run the bash script from the Sublime build system.
I placed my build_java.sh script within the /usr/bin directory