Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Java Projects

You're reading from   Java Projects Learn the fundamentals of Java 11 programming by building industry grade practical projects

Arrow left icon
Product type Paperback
Published in Aug 2018
Publisher Packt
ISBN-13 9781789131895
Length 524 pages
Edition 2nd Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Peter Verhas Peter Verhas
Author Profile Icon Peter Verhas
Peter Verhas
Arrow right icon
View More author details
Toc

Table of Contents (12) Chapters Close

Preface 1. Getting Started with Java 11 2. The First Real Java Program - Sorting Names FREE CHAPTER 3. Optimizing the Sort - Making Code Professional 4. Mastermind - Creating a Game 5. Extending the Game - Run Parallel, Run Faster 6. Making Our Game Professional - Do it as a Web App 7. Building a Commercial Web Application Using REST 8. Extending Our E-Commerce Application 9. Building an Accounting Application Using Reactive Programming 10. Finalizing Java Knowledge to a Professional Level 11. Other Books You May Enjoy

Packaging classes into a JAR file

When you deliver a Java application, usually the code is packaged into JAR, WAR, EAR, or some other packaged format. We learn something again that seems to be obscure at first sight, but in reality, this is not that complex. They are all ZIP files. You can open any of these files using WinZip or some other ZIP manager that you have a license for. The extra requirement is that, for example, in the case of a JAR file, the archive should contain a directory named META-INF and inside it a file named MANIFEST.MF. This file is a text file and contains meta information in the format, which is as follows:

Manifest-Version: 1.0 
Created-By: 11-ea (Oracle Corporation)

There can be a lot of other information in the file, but this is the minimum that the Java provided tool jar puts there if we package our class file into a JAR, issuing the following command:

jar -cf hello.jar HelloWorld.class

The -c option tells the JAR archiver to create a new JAR file and the f option is used to specify the name of the new archive. The one we specified here is hello.jar, and the file added to it is the class file.

The packaged JAR file can also be used to start the Java application. Java can read directly from JAR archives and load classes from there. The only requirement is that they are on the classpath.

You cannot put individual classes on the classpath, only directories. As JAR files are archives with an internal directory structure in them, they behave like a directory.

Check that the JAR file was created using ls hello.jar, and remove the rm HelloWorld.class class file just to ensure that when we issue the command line, the code is executed from the JAR file and not the class:

$ java -cp hello.jar HelloWorld
Hello World

To see the content of the JAR file, however, it is recommended that you use the JAR tool and not WinZip, even though that may be cozier. Real professionals use the Java tools to handle Java files:

$ jar -tf hello.jar META-INF/ META-INF/MANIFEST.MF HelloWorld.class
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime