Click here to close now.


Related Topics: Java IoT, Industrial IoT, Open Source Cloud, Eclipse

Java IoT: Blog Feed Post

Setting up a Workspace in Eclipse for Desktop Application Development

These instructions are important because Eclipse stores workspace specific settings in the workspace itself.

This tutorial is primarily for the students in my 420-517 Software Development Project course at Dawson College. It explains how to set up a workspace in Eclipse for this course. These instructions are important because Eclipse stores workspace specific settings in the workspace itself. This means that should you create a new workspace you will need to redo these settings. When you start Eclipse you are asked for the name of the workspace you want to use. If this is the first time you are using Eclipse the workspace launcher will appear as:


Eclipse wants to create a workspace called workspace in your home directory. On Linux and Mac systems you have a Home volume. In Windows the matching space is the folder with your name in the Users folder. If you have used Eclipse on the computer previously then it will show you the last workspace that you used. Pull down the combo box and you will get a list of all the workspaces that you have used. I prefer to have my workspace name indicate what I am doing. Therefore I never accept the default name and instead use a more meaningful name. Dawson Note: On the lab computers the default workspace is in C:\Users\Administrator\workspace. Here is my workspace choice for this tutorial:


After pressing OK Eclipse will start up. I configure Eclipse with the Subclipse plugin for Subversion. For that reason I get the following modal dialog (a dialog that demandsattention).


I usually un-check this simply to reduce the traffic over the network. In the school lab this is a good idea. Now we can see the Eclipse program as it appears when a new workspace is selected. Depending on the plugin that you have installed this screen may look slightly different. If you use an existing workspace then this will not appear and you will go directly to the workbench. The workbench is what we call the screen with all the windows we can use in Eclipse.


Click on the X on the Welcome tab or click on the toilet paper roll to get to the workbench.


It’s not really a toilet roll but it sure looks like one to me. The version of Eclipse that we use at Dawson is configured for Java EE. As we are going to create a desktop application we should change the perspective. A perspective is the arrangements and choices of windows on the workbench. Here is the Java EE perspective:


Go to Window -> Open Perspective and chose Java.


The workbench will now look like:


We are now ready to create our first project. We will only create Maven managed projects that use my Super Pom File (see From the File menu select New -> Other


The New dialog will appear for you to select a wizard. Scroll down to Maven and select Maven Project and click on Next.


On the New Maven Project you must check Create a simple project (skip archetype selection).


If you forget to do this you will see:


Click on the Back button, check Create a simple project and when all is well you should see:


Fill in the form as follows but replace my name with yours and chose appropriate names and description for your project.


Click on Finish and the project should appear in the Package Explorer. Open up the project tree by clicking on the small triangle and you should see:


There are two last tasks we must complete before we can start coding. The first thing is to change the JRE System Library. We will be using Java 1.8 and the pom.xml file will indicate Java 1.8. The Maven plugin in Eclipse is configured to default to Java 1.5. Right mouse click on JRE System Library (J2SE-1.5) and select Build Path -> Configure Build Path.


You should see:


Click on Remove and Java will disappear. We need to put in Java 1.8.


Select Add Library and you will see:


Select JRE System Library and click on Next. You should now see:


This is the dialog for a computer that only has Java 1.8 on it. It declares that the default JRE is a jre (jre1.8.0_20) which is wrong. It must be a JDK. Click on Installed JREs and you will get:


Click on the row and select Edit. This will let you point at the JDK instead of the JRE.


Now click on Directory and browse to the JDK. Here is what it looks like on my system:


Click OK and back on the Edit JRE dialog change the JRE name to jdk.


Once this is resolved click on Finish and the Preferences should look like:


Click on Ok and the Add Library should look like:


The Java Build Path will now be:


Click on OK and the Package Explorer should look like:


** Note: An error in the first posting is now corrected. In the subsequent images the JRE System Library will show jre1.8.0_20 but if you are following these instructions it will be the correct jdk1.8.0_20.

The last step is to update the pom.xml file. Double click on it and you will the Overview tab of the Maven pom file editor.


Switch to the pom.xml tab and you will see the raw file. If you close the Task List and Outline tabs on the right side of the workbench you will have a larger editor window.


You will now need the Super Pom xml file. You can retrieve it at the end of the article at Copy it from the article and paste it in a file that you can use each time you create a new project. I keep mine in a file called super_pom.xml. In Eclipse open this file from File -> Open File. It will appear in the Eclipse XML Editor looking like:


Switch to the Source tab and you will see:


Copy the contents of the file starting at the <developers> tag till the end of the file. Go to the pom.xml file of the project and paste what you copied over the </project> tag. It should look like:


Go to the Source menu and select Format to clean up the indenting. If you have any errors in the pom.xml they are likely due to having a second </project> tag or that you pasted the entire super_pom.xml file into you own pom.xml. These can be easily fixed by deleting the duplicated information. Correct the values in the <developer> section. Go to the <properties> section and correct the <mainClass> tag to show the name of your class that will contain the main method including the full path.


You are now ready to write code.

Read the original blog entry...

More Stories By Ken Fogel

In 1980 I bought for myself the most wonderful toy of the day, the Apple ][+. Obsession followed quickly and by 1983 I was writing software for small and medium sized businesses in Montreal for both the Apple and the IBM PC under the company name Omnibus Systems. In the evenings I taught continuing education courses that demystified the computer to the first generation of workers who found themselves with their typewriter on the scrap heap and a PC with WordStar taking its place.

In 1990 I was invited to join the faculty at Dawson College in the Computer Science Technology program. When I joined the program the primary language was COBOL and my responsibility was to teach small systems languages such as BASIC and C/C++.

Today I am now the chairperson and program coordinator of the Computer Science Technology program at Dawson. The program's primary language is Java and the focus is on enterprise programming.

I like to write about the every day problems my students and I face in using various languages and platforms to get the job done. And from time to time I stray from the path and write about what I plan to do, what I actually get around to doing, and what I imagine I am doing.


Latest Stories
Mobile, social, Big Data, and cloud have fundamentally changed the way we live. “Anytime, anywhere” access to data and information is no longer a luxury; it’s a requirement, in both our personal and professional lives. For IT organizations, this means pressure has never been greater to deliver meaningful services to the business and customers.
SYS-CON Events announced today that ProfitBricks, the provider of painless cloud infrastructure, will exhibit at SYS-CON's 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. ProfitBricks is the IaaS provider that offers a painless cloud experience for all IT users, with no learning curve. ProfitBricks boasts flexible cloud servers and networking, an integrated Data Center Designer tool for visual control over the...
WebRTC is about the data channel as much as about video and audio conferencing. However, basically all commercial WebRTC applications have been built with a focus on audio and video. The handling of “data” has been limited to text chat and file download – all other data sharing seems to end with screensharing. What is holding back a more intensive use of peer-to-peer data? In her session at @ThingsExpo, Dr Silvia Pfeiffer, WebRTC Applications Team Lead at National ICT Australia, will look at di...
Organizations already struggle with the simple collection of data resulting from the proliferation of IoT, lacking the right infrastructure to manage it. They can't only rely on the cloud to collect and utilize this data because many applications still require dedicated infrastructure for security, redundancy, performance, etc. In his session at 17th Cloud Expo, Emil Sayegh, CEO of Codero Hosting, will discuss how in order to resolve the inherent issues, companies need to combine dedicated a...
NHK, Japan Broadcasting, will feature the upcoming @ThingsExpo Silicon Valley in a special 'Internet of Things' and smart technology documentary that will be filmed on the expo floor between November 3 to 5, 2015, in Santa Clara. NHK is the sole public TV network in Japan equivalent to the BBC in the UK and the largest in Asia with many award-winning science and technology programs. Japanese TV is producing a documentary about IoT and Smart technology and will be covering @ThingsExpo Silicon Val...
SYS-CON Events announced today that Luxoft Holding, Inc., a leading provider of software development services and innovative IT solutions, has been named “Bronze Sponsor” of SYS-CON's @ThingsExpo, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. Luxoft’s software development services consist of core and mission-critical custom software development and support, product engineering and testing, and technology consulting.
Mobile messaging has been a popular communication channel for more than 20 years. Finnish engineer Matti Makkonen invented the idea for SMS (Short Message Service) in 1984, making his vision a reality on December 3, 1992 by sending the first message ("Happy Christmas") from a PC to a cell phone. Since then, the technology has evolved immensely, from both a technology standpoint, and in our everyday uses for it. Originally used for person-to-person (P2P) communication, i.e., Sally sends a text...
Between the compelling mockups and specs produced by analysts, and resulting applications built by developers, there exists a gulf where projects fail, costs spiral, and applications disappoint. Methodologies like Agile attempt to address this with intensified communication, with partial success but many limitations. In his session at DevOps Summit, Charles Kendrick, CTO and Chief Architect at Isomorphic Software, will present a revolutionary model enabled by new technologies. Learn how busine...
Nowadays, a large number of sensors and devices are connected to the network. Leading-edge IoT technologies integrate various types of sensor data to create a new value for several business decision scenarios. The transparent cloud is a model of a new IoT emergence service platform. Many service providers store and access various types of sensor data in order to create and find out new business values by integrating such data.
SYS-CON Events announced today that IBM Cloud Data Services has been named “Bronze Sponsor” of SYS-CON's 17th Cloud Expo, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. IBM Cloud Data Services offers a portfolio of integrated, best-of-breed cloud data services for developers focused on mobile computing and analytics use cases.
Scott Guthrie's keynote presentation "Journey to the intelligent cloud" is a must view video. This is from AzureCon 2015, September 29, 2015 I have reproduced some screen shots in case you are unable to view this long video for one reason or another. One of the highlights is 3 datacenters coming on line in India.
In recent years, at least 40% of companies using cloud applications have experienced data loss. One of the best prevention against cloud data loss is backing up your cloud data. In his General Session at 17th Cloud Expo, Bryan Forrester, Senior Vice President of Sales at eFolder, will present how organizations can use eFolder Cloudfinder to automate backups of cloud application data. He will also demonstrate how easy it is to search and restore cloud application data using Cloudfinder.
Developing software for the Internet of Things (IoT) comes with its own set of challenges. Security, privacy, and unified standards are a few key issues. In addition, each IoT product is comprised of at least three separate application components: the software embedded in the device, the backend big-data service, and the mobile application for the end user's controls. Each component is developed by a different team, using different technologies and practices, and deployed to a different stack/...
SYS-CON Events announced today that Spirent Communications, the leader in testing navigation and positioning systems, will exhibit at SYS-CON's @DevOpsSummit Silicon Valley, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. Spirent Communications enables innovations in communications technologies that help connect people. Whether it is service provider, data centers, enterprise IT networks, mobile communications, connected vehicles or the Inte...
Apps and devices shouldn't stop working when there's limited or no network connectivity. Learn how to bring data stored in a cloud database to the edge of the network (and back again) whenever an Internet connection is available. In his session at 17th Cloud Expo, Bradley Holt, Developer Advocate at IBM Cloud Data Services, will demonstrate techniques for replicating cloud databases with devices in order to build offline-first mobile or Internet of Things (IoT) apps that can provide a better, ...