COP 2805 (Java II) Project
Install and Practice Using Eclipse, NetBeans, and Maven

 

Due: by the start of class on the date shown on the syllabus

Description:

For this project you will install and then explore Eclipse and NetBeans Java IDEs.  In either case you will need to have installed the JDK too, which in turn includes a JRE.

In addition, you will learn and explore using the non-GUI tool Maven.

Complete directions for installing all software as used in the classroom can be found in the course resources, in the Java Setup link.  What follows are the brief directions for setting up just the two IDEs.

Part I — Eclipse

  1. Download and install he current release of Eclipse from eclipse.org.  Once you hit the download button you will see a choice of package bundles to download.  For our class, choose either the Java SE or Java EE packages.

    Eclipse is easy to install on a Windows platform.  You download the “zip” file for Eclipse (the 32-bit version is recommended for our class), and extract the contents into “C:\Program Files” (for the 64-bit version), or “C:\Program Files (x86)” (for the 32-bit version).  This creates a new sub-directory “eclipse”.  Open that folder and right-click on the file eclipse.exe.  Choose “Copy”.  Next, right-click on the “Start→All Programs” button and click on “Open”.  Next open the “Programs” folder.  Finally, right-click in this window and choose “Paste Shortcut”.  (You can add additional short-cuts to your desktop or the quick launch bar, if desired.)

    Eclipse is now installed and ready to use.  Before getting started, it is a good idea to go to the “Help” menu and select “Check for Updates”.

  2. Now launch Eclipse.  It may ask a few questions such as where it should keep its files (the Eclipse workspace).  You can put this anywhere you like.  Personally I prefer to use either “My Documents\Eclipse-workspace” or “C:\Temp\Eclipse-workspace”, depending on if the computer is single user or multi-user.  (You can click the button to make Eclipse remember your choice.)
  3. On the Welcome page (you can make that show from the Help→Welcome menu) read some of the tutorials, including at least Workbench Basics (also called the User Guide) → Getting started → Basic tutorial, and Java Development → Getting started → Basic tutorial.  (This will give you an overview on how to use and configure Eclipse.)  You might want to read about Git, Maven, or other topics; examine the list for any that seem interesting.  (You won't have time to read them all now, but you should attempt to read some of them over time to improve your skills.)

    You can also read the Eclipse Documentation online, especially the Workbench User Guide and the Java Development User Guide.

    Additionally, you can read this tutorial which I found to be well-written: www.vogella.de/articles/Eclipse/article.html.

  4. Eclipse supports plug-ins, many of which are freely available.  These are just jar files placed into the Eclipse install directory.  There are hundreds available to extend Eclipse with additional functionality, such as XML editors, Junit test case editors, UML GUI drawing tools (that generate Java code for you), and Java EE tools.

    A collection of these projects useful for Java and Java EE development has been bundled together under the name Mars, which is what you have installed (the current version of Eclipse).  To install other Eclipse plug-ins:

    1. Under the Help menu, click on “Install New Software...”.  Now tell Eclipse where to look for the new plug-ins.  You should select “The Eclipse Project Updates - URL”, but to add some third party plug-in you need to add their site to the list, by clicking on the “Add...” button.  Then you can select that site.  You can also pick “Mars” (the current Eclipse release name at the time of this writing) to install additional projects not included with your installer bundle.
    2. On the bottom of the window are a bunch of check boxes, for things such as “Only show the latest versions” and “hide items that are already installed”.  I would check all these items to limit the list of available software to only the plug-ins you are actually interested in seeing.
    3. Check the check-box next to the items you want (and don't already have installed), and then click on the Install... button.  For example, try adding the two UML2 projects (under “modeling” in the Galileo release site), and click “Next”.  This shows a summary of all the items that will be installed based on your choices.  Click “Next” show the license screen; be sure to select the “I agree ...” button, then click on the “Finish” button to start the install.

    Feel free to explore other available plug-ins.  Even more plug-ins can be found at marketplace.eclipse.org.  (Warning: You should learn the basic Eclipse platform first, because adding plug-ins complicates the user interface.)

  5. Once plug-ins are installed, you will want to keep them up to date.  Just select “Check for Updates” from the Help menu.
  6. You can explore the preferences and make a few changes, but don't make too many changes until you have learned Eclipse better (or the tutorials won't match what you see!).  However, you should explore what preferences are available and how they are organized.
  7. Explore the other features of Eclipse.  This is the whole point of this project, so spend some time trying stuff out.
  8. Start a new Java project, then add a new class Hello.  (Be sure to check the “Generate comments” checkbox.)  You should see a new file “Hello.java” in the Package Explorer window.  Right-click on it and chose open, and create another hello world (or other simple) application.  Your application should not be identical with the tutorial; make yours say something such as “Hello from the world of Eclipse!”.  Don't forget to add appropriate comments (and to delete or modify the pointless comments that Eclipse inserts automatically for you).

    Note the Eclipse won't automatically put your classes in packages.  That is fine for this project, but generally it is best to use packages.  You can name your package after the project name.

Part II — NetBeans

  1. Download and install NetBeans.  (Note: There is a Java JDK+NetBeans bundle you can download when you install the Java JDK.)  As with eclipse there are bundles of plug-ins you can use.  For our purposes you should download either the “Java” bundle or the “All” bundle.  Note this includes a Java EE server glassfish and possibly other software.  If you have plenty of storage space you can just install everything, but you won't need the Java EE server(s) for this project.
  2. After the install is complete, you will want to update your software.  Use the “Help→Check for Update” to do this.
  3. You can read on-line tutorials and documentation from www.netbeans.org/kb/.  Feel free to read those but at least read the “NetBeans IDE [Java] Quick Start Tutorial” and the “General Java Development → Java Quick Start Tutorial” and “General Java Development → Developing General Java Applications” guides.  You may also find some of the video NetBeans tutorials useful, such as Java Editing in NetBeans IDE or Java Editor in NetBeans IDE.

    You might want to read about Git, Maven, or other topics; examine the links for any guides/tutorials that seem interesting.  (You won't have time to read them all now, but you should attempt to read some of them over time to improve your skills.)

  4. Explore the features of NetBeans.  You should spend some time doing this, since learning to use the IDE is the whole point of this project.  Feel free to explore and change the preferences, but don't change too much at first; you want the settings to match the tutorials!
  5. Create a simple “Hello World” type of Java application using NetBeans.  Your application should say something such as “Hello from the world of NetBeans!”.  Be sure to add appropriate comments (and delete any empty or pointless comments that NetBeans may automatically add).
  6. To create a new Java application using NetBeans, Use the file menu and click on “New Project...”.  Next select “Java Application” from the “Java” category, and click “Next”.

    Give your project a useful name (e.g., “hello”), and pick a name for the class that will be generated (e.g., “hello.Hello”).  Note the NetBeans automatically puts your classes in a package named after the project.  That is fine, but for this simple project, you could put your class in the default, nameless package.  Leave “Set as Main Project” selected, and click “Finish”.

Part III — Using Maven

Read the Maven in 5 Minutes tutorial.

  1. Install Maven on Windows (See the box below for Mac directions):
    1. Download the zip archive of latest version of Maven.  Be sure to download the binary zip, not the source (“src”) zip!
    2. Extract it to someplace.  I suggest C:\Java\ (used in the directions that follow), but anyplace you wish is fine.
    3. I suggest you rename the folder from apache-maven-version to something simpler, such as maven.
    4. Add this entry to the PATH environment variable: C:\Java\maven\bin.
    5. Add this new environment variable: M2_HOME=C:\Java\maven

    (As a reminder: PATH is used by your system to locate executables such as mvn or java; CLASSPATH is used by Java to locate packages and some other things; JAVA_HOME is used by various programs (including Maven) to locate a JDK; and M2_HOME (previously known as MAVEN_HOME) is used by mvn to locate various configuration files.  All of these may be used by other programs to locate files they need.  While some programs are smart enough to guess to try default install locations when you don't set these variables, that won't work if you don't install in the default locations.)

    Install Maven on Mac OS X

    There are several ways do to this.  One is to follow the standard install directions for a Linux-like system, found on the Maven website.  The simplest way seems to be this:

    1. Install Homebrew if you don't already have that: visit brew.sh, copy the long line shown, and paste it in a terminal window.  Doing this provides you with the brew command to install things.
    2. Run the command brew install maven.
    3. If your version of OS X doesn't include the tree command, you can install that using the command brew install tree.
  2. First, pick (or create) a directory for your Maven projects, and cd into it.  Next, create a working “Hello, World” project named “hello” using the command (one long line):
    mvn archetype:generate -DgroupId=cop2805 -DartifactId=hello -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    

    That might take a while the first time.  When done, see what files were created by using the tree/F hello command (just tree on Mac or Linux).

    Next cd into your new hello directory.  Take a look at the generated source code at src/main/java/cop2805/App.java, the generated unit test at src/main/java/cop2805/App.java, and the generated pom.xml file.  (When using Maven “for real”, you would edit the POM file and edit or replace the App.java and AppTest.java files.)

    Next, compile, test, package, and install your project (into your local repo, ~/.m2/).  This is done with the simple command:

    mvn install
    

    Run the tree/F (or tree) command to see the new files created.  (Also look in your home directory and use tree on the .m2 directory there.)  Notice the JAR file; that is the resulting application.  To run this Jar file, enter the command (without changing directories first):

    java -cp target\hello-1.0-SNAPSHOT.jar cop2805.App
    

    Finally, there are a couple of other Maven commands to play with:

    Try “mvn site” to generate a website for your project.  You can view the site in your web browser by opening the file “.../hello/target/site/”.

    Convert your Maven project to an Eclipse-Maven project: “mvn eclipse:eclipse”.  If you copy this project (the whole folder) into your Eclipse workspace directory, it should just work.

    Now try to convert your “Hello, world” projects from the two IDEs into Maven projects.  Notice how the layout of folders is now different from the default for your IDEs.

Part IV — Additional Questions

  1. What other IDEs are available for Java programming?  Name at least two besides Eclipse and NetBeans.
  2. Based on your experiences so far, which IDE do you prefer?
  3. Which developer feature(s) did you like better in Eclipse versus NetBeans?
  4. Which developer feature(s) did you like better in NetBeans versus Eclipse?
  5. Why do you think Maven (a command line tool but can be used with an GUI IDE) is so popular?

To be turned in:

A copy of your Java source code from the “Hello World” programs you created in parts I, II, and III, and the answers to the questions asked in part IV.

When copying from Eclipse, copied code loses all formatting if any of the code is “folded” (hidden with a plus sign where the missing lines are).  To avoid losing formatting when copying, first right click on the line numbers and select Folding → Expand All.  Now when you copy, all formatting should still be there when you paste!  (To prevent folding altogether, go to Window→preferences→java→editor→Folding, and select/unselect the various folding options.)

You can send as email to (preferred).  If email is a problem for some reason, you may turn in a hard-copy.  In this case the pages should be readable, dated, and stapled together.  Your name should appear on the first page.

Please see your syllabus for more information about projects, about submitting projects.