Click here to close now.




















Welcome!

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:

image01

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:

image01

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).

image03

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.

image04

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

image05

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:

image06

Go to Window -> Open Perspective and chose Java.

image07

The workbench will now look like:

image08

We are now ready to create our first project. We will only create Maven managed projects that use my Super Pom File (see http://netbeans.dzone.com/nb-class-maven-4-kf). From the File menu select New -> Other

image09

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

image10

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

image11

If you forget to do this you will see:

image12

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

image13

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

image14

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:

image15

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.

image16

You should see:

image17

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

image18

Select Add Library and you will see:

image19

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

image20

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:

image29

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

image30

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

image31

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

image32

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

image33

Click on Ok and the Add Library should look like:

image34

The Java Build Path will now be:

image35

Click on OK and the Package Explorer should look like:

image36

** 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.

image23

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.

image24

You will now need the Super Pom xml file. You can retrieve it at the end of the article at http://netbeans.dzone.com/nb-class-maven-4-kf. 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:

image25

Switch to the Source tab and you will see:

image26

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:

image27

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.

image28

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.

@omniprof

Latest Stories
WebRTC has had a real tough three or four years, and so have those working with it. Only a few short years ago, the development world were excited about WebRTC and proclaiming how awesome it was. You might have played with the technology a couple of years ago, only to find the extra infrastructure requirements were painful to implement and poorly documented. This probably left a bitter taste in your mouth, especially when things went wrong.
As more and more data is generated from a variety of connected devices, the need to get insights from this data and predict future behavior and trends is increasingly essential for businesses. Real-time stream processing is needed in a variety of different industries such as Manufacturing, Oil and Gas, Automobile, Finance, Online Retail, Smart Grids, and Healthcare. Azure Stream Analytics is a fully managed distributed stream computation service that provides low latency, scalable processing of ...
Through WebRTC, audio and video communications are being embedded more easily than ever into applications, helping carriers, enterprises and independent software vendors deliver greater functionality to their end users. With today’s business world increasingly focused on outcomes, users’ growing calls for ease of use, and businesses craving smarter, tighter integration, what’s the next step in delivering a richer, more immersive experience? That richer, more fully integrated experience comes ab...
In today's digital world, change is the one constant. Disruptive innovations like cloud, mobility, social media, and the Internet of Things have reshaped the market and set new standards in customer expectations. To remain competitive, businesses must tap the potential of emerging technologies and markets through the rapid release of new products and services. However, the rigid and siloed structures of traditional IT platforms and processes are slowing them down – resulting in lengthy delivery ...
Skeuomorphism usually means retaining existing design cues in something new that doesn’t actually need them. However, the concept of skeuomorphism can be thought of as relating more broadly to applying existing patterns to new technologies that, in fact, cry out for new approaches. In his session at DevOps Summit, Gordon Haff, Senior Cloud Strategy Marketing and Evangelism Manager at Red Hat, discussed why containers should be paired with new architectural practices such as microservices rathe...
U.S. companies are desperately trying to recruit and hire skilled software engineers and developers, but there is simply not enough quality talent to go around. Tiempo Development is a nearshore software development company. Our headquarters are in AZ, but we are a pioneer and leader in outsourcing to Mexico, based on our three software development centers there. We have a proven process and we are experts at providing our customers with powerful solutions. We transform ideas into reality.
In their Live Hack” presentation at 17th Cloud Expo, Stephen Coty and Paul Fletcher, Chief Security Evangelists at Alert Logic, will provide the audience with a chance to see a live demonstration of the common tools cyber attackers use to attack cloud and traditional IT systems. This “Live Hack” uses open source attack tools that are free and available for download by anybody. Attendees will learn where to find and how to operate these tools for the purpose of testing their own IT infrastructu...
Any Ops team trying to support a company in today’s cloud-connected world knows that a new way of thinking is required – one just as dramatic than the shift from Ops to DevOps. The diversity of modern operations requires teams to focus their impact on breadth vs. depth. In his session at DevOps Summit, Adam Serediuk, Director of Operations at xMatters, Inc., will discuss the strategic requirements of evolving from Ops to DevOps, and why modern Operations has begun leveraging the “NoOps” approa...
SYS-CON Events announced today that IceWarp will exhibit at the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. IceWarp, the leader of cloud and on-premise messaging, delivers secured email, chat, documents, conferencing and collaboration to today's mobile workforce, all in one unified interface
The Internet of Things (IoT) is about the digitization of physical assets including sensors, devices, machines, gateways, and the network. It creates possibilities for significant value creation and new revenue generating business models via data democratization and ubiquitous analytics across IoT networks. The explosion of data in all forms in IoT requires a more robust and broader lens in order to enable smarter timely actions and better outcomes. Business operations become the key driver of I...
Organizations from small to large are increasingly adopting cloud solutions to deliver essential business services at a much lower cost. According to cyber security experts, the frequency and severity of cyber-attacks are on the rise, causing alarm to businesses and customers across a variety of industries. To defend against exploits like these, a company must adopt a comprehensive security defense strategy that is designed for their business. In 2015, organizations such as United Airlines, Sony...
With the proliferation of connected devices underpinning new Internet of Things systems, Brandon Schulz, Director of Luxoft IoT – Retail, will be looking at the transformation of the retail customer experience in brick and mortar stores in his session at @ThingsExpo. Questions he will address include: Will beacons drop to the wayside like QR codes, or be a proximity-based profit driver? How will the customer experience change in stores of all types when everything can be instrumented and a...
It’s been proven time and time again that in tech, diversity drives greater innovation, better team productivity and greater profits and market share. So what can we do in our DevOps teams to embrace diversity and help transform the culture of development and operations into a true “DevOps” team? In her session at DevOps Summit, Stefana Muller, Director, Product Management – Continuous Delivery at CA Technologies, answered that question citing examples, showing how to create opportunities for ...
Everyone talks about continuous integration and continuous delivery but those are just two ends of the pipeline. In the middle of DevOps is continuous testing (CT), and many organizations are struggling to implement continuous testing effectively. After all, without continuous testing there is no delivery. And Lab-As-A-Service (LaaS) enhances the CT with dynamic on-demand self-serve test topologies. CT together with LAAS make a powerful combination that perfectly serves complex software developm...
As more intelligent IoT applications shift into gear, they’re merging into the ever-increasing traffic flow of the Internet. It won’t be long before we experience bottlenecks, as IoT traffic peaks during rush hours. Organizations that are unprepared will find themselves by the side of the road unable to cross back into the fast lane. As billions of new devices begin to communicate and exchange data – will your infrastructure be scalable enough to handle this new interconnected world?