Presentation is loading. Please wait.

Presentation is loading. Please wait.

Building Packages BCIS 3680 Enterprise Programming.

Similar presentations


Presentation on theme: "Building Packages BCIS 3680 Enterprise Programming."— Presentation transcript:

1 Building Packages BCIS 3680 Enterprise Programming

2 Packages 2  A package is a collection of related classes that can be imported into a program.  Packages allow reuse of classes without having to place them in the same directory as the application currently being developed.  Putting your classes into a package reduces the chances of naming conflicts with other people’s classes.

3 Name Your Package 3  To avoid naming conflicts between packages created by two programmers, Sun Microsystems recommended this naming convention:  Reverse the organization’s domain name and put it in front of each package.  E.g., both of the following two packages contains a class with the name Registration. However, since the domain names unt.edu and smu.edu are guaranteed to be unique, the package names thus generated are unique as well. Therefore, there won’t be confusion as to which Registration class is being referred to. edu.unt.Registration edu.smu.Registration

4 package Keyword 4  To include a class in a package, precede the class definition with the package statement: package packageName;  It must be the first statement in the source code file.  It must be above any import statements.  The folder hierarchy of the source code folder(s) must agree with the package name.  \edu\smu for the edu.smu package  \edu\unt\cob for the edu.unt.cob package  \foo for the foo package  To use the class in another package, import the class: import packageName.ClassName;

5 Make Your Code Available 5  If you want to make a package available to a single application, you can just copy the directories and files of the package into the application’s directory.  If you want to make a package available to any application, you start by creating a Java Archive (JAR) file that contains the class files of the package.  Then you can move the JAR file into the JDK’s \jre\lib\ext folder or import it to the project’s library in NetBeans.

6 Steps in Creating JAR 6  Prepare the source files  Create the right folder structure  Compile the files  Create the manifest file  Run Jar command

7 Preparing Class Files for Use 7  Source code must be compiled before it can be executed.  The files that are fit for execution are the. class (compiled) files, not the. java source code files.  You should be able to compile files and store the. class files in folders under proper folder hierarchy.  Using NetBeans can make this process easier. If you prefer to write source code and compile it outside of NetBeans, you may have to create the source code folder hierarchy manually.

8 Using NetBeans 8  If you use NetBeans, it creates folders automatically for you while you create new packages and build (compile) files in the IDE.  The folder hierarchy in the source code folder and compiled file folder are mirrored without your intervention.

9 Creating a Package in NetBeans 9  To create a package in NetBeans, first create a project.  Then, right-click the project name or Source Package (shown below) and select New | Java Package …

10 Folders, Folders… 10  For each of the levels in the package name (separated by a dot), NetBeans adds a new child folder.  In the example, the package name edu.unt is mirror in the folder structure – edu\unt.  If your IDE doesn’t do this automatically like NetBeans does, you must create this folder structure manually.

11 Contents of src Folder 11 As you create classes in the edu.unt package, for each new class, a corresponding. java file will appear in this folder.

12 Create New Class in Package 12  Add new classes to packages.  If you’re not typing the code from scratch, copy the file into this location.  Remember the package statement must contain the correct package name.

13 Contents of Source Code Folders 13  The DateAssistant.java and Driver.java files are stored in the unt subfolder of the edu folder.

14 Compiling Source Code 14  To generate the binary, compiled version of the classes (. class files), right click the project and select Build.  After this is done, in the project folder, you will see a new subfolder with the name build and under it, a classes subfolder. Under the classes subfolder, the same folder hierarchy under src is reproduced. However, these folders under classes store the. class files.

15 Contents of Compiled File Folders 15  The compiled DateAssistant and Driver classes are stored in build\classes\edu\unt.

16 Contents of classes Folder 16 Note the newly-created build folder and how the folder hierarchy under the classes folder mirrors that under the src folder.

17 JAR File 17  NetBeans also automatically creates the JAR file for the project in the dist subfolder.

18 Manual Method 18  If you write source code outside of NetBeans, you may have to create the proper folder hierarchy manually.  However, you don’t have to have the build folder.  For the folders to store compiled files, manually create only the classes folder.  javac is the command to compile source code.  The –d switch of the command allows you to specify where to store the. class files.

19 The –d Flag 19  javac –d  The –d flag tells the compiler to put the compiled code (.class files) into the classes directory.  The classes in a package should be saved in a subdirectory with a path that matches the name of the package.

20 The manifest.txt File 20  It marks the location of the main() method.  Contains just one line: Main-Class: edu.unt.Driver  Make sure you hit Return  This file must be placed right under the “classes” folder.

21 JAR File 21  Lets you pack all your classes into a single file.  Make sure all your class files are inside the classes directory.  Creating JAR file  Change your working directory into the class directory.  Run jar command jar –cvmf manifest.txt myapp.jar *.class edu


Download ppt "Building Packages BCIS 3680 Enterprise Programming."

Similar presentations


Ads by Google