Heads up! To view this whole video, sign in with your Courses account or enroll in your free 7-day trial. Sign In Enroll
Well done!
You have completed Local Development Environments!
You have completed Local Development Environments!
Preview
Let's explore Run Configurations and how to kick off our awesome projects.
Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
So now that we know how to
get our code into the editor,
0:00
let's take a quick look
at how to execute it.
0:03
In WorkSpaces we built our application
by manually kicking off the compiler,
0:05
Java C, which created Java class
files containing the byte code.
0:09
Then we ran the Java executable and
0:13
passed in the name of the class
that contained our starting point.
0:15
You know, the static main method.
0:18
Well I'm glad that we learned
how to do that it will help
0:20
demystify the compilation and
running process that you are about to see.
0:23
The IDE does all that and more.
0:27
Ready to learn how?
0:29
Let's go take a look.
0:30
Okay so the first thing to remember is
that you can have multiple modules and
0:33
therefore it's possible that you
can have static main methods in
0:36
any of those files that you want to run.
0:40
And there's no real way that the IDE
could possibly know which file
0:41
you wanna execute.
0:45
So the idea in running something is to
first find the file that you wanna run.
0:47
So, I know that our file that we
ran before was called Karaoke.
0:51
And I know it's a little confusing
it's the Karaoke project.
0:56
It's the Karaoke file.
0:58
There's also a karaoke machine.
0:59
We should probably rename
that in the future sometime.
1:01
For now let's open it.
1:03
And let's say that I didn't want to
use the mouse to click over there.
1:04
If I come over here and
1:10
press double shift, there's a great
tool called Search Everywhere.
1:11
I'm just going to start typing karaoke.
1:15
There it is, classes, I'm going to choose
that and I'm going to press Enter, boom.
1:17
There's our Karaoke file, great.
1:21
This is what I want to run, right?
1:24
Remember this goes and
starts every thing off.
1:25
So since I have it open,
I'm going to go to the run menu, and
1:27
I'm just going to choose run here.
1:31
Now it's just double-checking
what I meant, and
1:34
it's gonna do this here, Karaoke,
and I'm gonna click this.
1:37
It's gonna go ahead and
it's gonna build the file.
1:41
After it's built,
we'll take a look at how it got ran.
1:44
Okay, so it's gonna pop up a new
window here called the console.
1:48
And here, you'll see that the program's
actually running and it's waiting for
1:52
our input.
1:56
Here's the program that got kicked off and
1:57
I just kinda wanna show you all
the way over here to the end.
1:59
That's kind of a crazy set up, but
it's running basically what we did,
2:02
but it's wrapping it in this IDE magic and
what that does is it allows us to.
2:07
Type into this window, and
it allows System.out to come into here.
2:12
So right, so System.in is coming in and
capturing it, and it's wrapping it.
2:14
But it's still passing
at this parameter here.
2:18
So let me scroll all the way back.
2:24
Okay, cool.
2:25
So, what do we wanna do?
2:28
Let's choose a song to sing.
2:29
Right?
2:31
Let's choose U2.
2:32
And I still haven't found
what I'm looking for.
2:34
Okay, great.
2:38
So it's pretty cool right?
2:39
Now the bummer is that in
a few of our apps we used
2:41
System.console which is specifically
made for console apps by the Java team.
2:44
So the bad news is.
2:50
And you might have heard some
chatter about this in the forum.
2:51
The don't work so well in this redirected
IO model that most of these IDEs use.
2:53
Right?
So the way that they're writing to
2:58
the window and reading from the window.
2:59
So currently there are bugs filed in
almost all of the popular IDEs that I saw
3:01
to support the System.console bug,
but the big problem is,
3:06
is that console is marked final.
3:10
Remember that can't be changed.
3:11
So it's pretty hard for
these IDE maintainers to get things right.
3:12
So you can't really blame them.
3:15
Maybe by the time you're watching
this they'll already have it fixed.
3:18
But if not, use the tricks that we use in
this Karaoke app of using System.out and
3:20
System.in as opposed
to System dot console.
3:25
I've included some notes about
the problem in the teachers' notes.
3:28
Now, since we've run this
once what happened was it
3:32
created a run configuration.
3:34
So you'll see here in the menu
that it has a Run Karaoke.
3:37
Let's go ahead and click that again.
3:40
So it's kicking it off again, and one
thing that I really wanted to point out is
3:43
that we left our first application
still running over here, and
3:47
there's another one running.
3:50
So, it's running two.
3:52
And that's totally fine, but
3:53
you might forget and
get a whole bunch of these going.
3:55
So it's important to know that there's
a little run menu over here, and
3:57
you can stop things.
4:00
So let's stop that Karaoke.
4:01
Let this process finish,
and we'll come over here.
4:03
The other thing you could do is say Close,
or Close Tab or Close All Tabs.
4:07
And this is a pretty common thing to see.
4:12
The Karaoke is running,
we're just gonna say to disconnect and
4:15
terminate the process.
4:18
Boom, and now, well,
our menu's gone from down there.
4:18
Okay, so this is the runbar up here.
4:21
You'll also see that
4:25
all the different configurations that
got built will be shown in here.
4:27
So we just built that configuration for
Karaoke so it's in here.
4:30
So, let's go ahead and
open up that configuration.
4:33
Okay, cool.
So these are the settings for it.
4:38
You can set options for
each time that the program runs.
4:40
So remember in our Hangman app,
we passed the name of the puzzle.
4:42
That's what this Program
arguments field is here.
4:46
The Working directory is what
is set from where things start.
4:48
So if you remember,
that's why we dropped the songs.txt.
4:52
Right into the content root because
this is the content root right.
4:55
Karaoke, content root.
4:58
So, that's where things work relatively.
5:00
I don't know if you remember
exactly where that is but
5:03
I want to show you where we're doing this.
5:06
So I know that we're
doing this thing here.
5:08
Called import from songs.txt.
5:11
So let's say that we didn't know
where that SongBook def was.
5:14
But we knew that the function
was called import from.
5:17
So you can also sort modules right.
5:18
So if I go import from and I hit it.
5:21
It will go right to where it was at.
5:24
And let's see.
5:26
So it says a new import stream
reader on the fileName and
5:28
that was songs.txt that we passed in and
since.
5:31
This thing works relatively.
5:33
It's working from the working directory,
which is right here.
5:34
Cool right?
5:38
Okay, so let's flip back really
quick to that configuration.
5:40
So I'm going to click this up here and
choose that Configurations.
5:42
I want to show you one more thing
because it's kind of buried and
5:44
I've seen some questions about this so
I just want to make sure I point it out.
5:48
Logging is a great tool that
is available in Java and
5:51
Java has a great logging system.
5:54
It allows you to categorize and
place entries of different severities and
5:56
lets you know what's happening
during your application.
6:00
And maybe you don't want to show users
what's happening during your application,
6:02
but you do want to have
logs of what was happening.
6:05
So, there's a tab over here that says
Logs and you can configure them here.
6:08
You can save everything that
happened to a console to a file.
6:11
So, that's kind of helpful
through debugging,
6:13
if you wanted to get back to it later.
6:15
And there's also the ability to
show the console when it changes,
6:17
which is also pretty nice.
6:22
So the last thing that I want you to
remember here is that you can have
6:24
multiple modules with run configurations,
and just remember that pressing
6:27
this run button here will run
whatever is in this list here.
6:32
So this is Karaoke.
6:35
So if I press play,
it will run that specific configuration.
6:36
Great, all right.
6:40
So now we can navigate around our
file structure, and build and
6:42
run our application.
6:45
There is a ton more of this IDE you can do,
6:46
and much more than I could
possibly show you in this course.
6:49
Let's spend a little time learning
how to figure more out, and
6:52
also let me show off a few
of my favorite tricks.
6:55
You need to sign up for Treehouse in order to download course files.
Sign upYou need to sign up for Treehouse in order to set up Workspace
Sign up