Source: http://www.cnblogs.com/shiyangxt/
Just beginning to learn Java, very depressed, write out of the Java class file, need dos under the compiler, and then DOS run to see the effect. This allows beginners to often
Feel the trouble and learn in depth later, will be exposed to eclipse, Netbean and some plug-in IDE products. Greatly facilitates the writing of Java, but with its own written program
More and more, gradually become a project and software, it is necessary to often deal with jar files. Gradually want to make Java file execution more fun, do not want to show others a small
The software is also in the IDE to see the effect, very not handsome. Now it's time to sort out a couple of Windows and double-click to run Java programs, just to make the. exe and. jar files.
----------------------------------------------------------------------------------------
The following part is taken from the Internet, I really do not bother to write directly down.
The first is to package the method of running the jar file.
Now windows will be loaded with J2SE parser, so that is to say, if packaged into a jar file, open with this J2SE parser can double-click Run.
Here is the packaging method for the jar package ************************
1. Build MANIFEST.MF (under the class file root)
The following content is the basic content of the file
==================
manifest-version:1.0
Main-class:a (Path of the main class)
CREATED-BY:ABC Company (creator name)
==================
2. Packaging
According to the conditions given by LZ
Execute under the class file directory
Jar CVFM Classes.jar MANIFEST. MF * *
The above command packages all files under class to Classes.jar, generated in the class directory
3. Implementation
You can do this by double-clicking on Windows.
-----------------------------------This is my recommended solution because it's simple.
MANIFEST. MF file Detailed **************************
Open Java jar File We can often see the file contains a Meta-inf directory, which will have some files, which
There must be a MANIFEST.MF, which describes a lot of information about the jar file, and the MANIFEST.MF file is described in detail below
, first look at the contents of the MANIFEST.MF file contained in Struts.jar:
manifest-version:1.0
Created-by:apache Ant 1.5.1
Extension-name:struts Framework
Specification-title:struts Framework
Specification-vendor:apache Software Foundation
specification-version:1.1
Implementation-title:struts Framework
Implementation-vendor:apache Software Foundation
Implementation-vendor-id:org.apache
implementation-version:1.1
Class-path:commons-beanutils.jar Commons-collections.jar Commons-digester.jar Commons-logging.jar
Commons-validator.jar Jakarta-oro.jar Struts-legacy.jar
If we classify the configuration information in manifest, we can summarize the following categories:
I. GENERAL properties
1. Manifest-version
Used to define the version of the Manifest file, for example: manifest-version:1.0
2. created-by
Declares the creator of the file, typically this property is generated by the JAR command-line tool, for example: Created-by:apache Ant 1.5.1
3. Signature-version
Defining a signature version of a jar file
4. Class-path
The application or class loader uses this value to build an internal class search path
Two. Application-related properties
1. Main-class
Defines the entry class for the jar file, which must be an executable class that, once defined, can run the jar file through Java-jar X.jar.
Three. applets (applet) related properties
1. Extendsion-list
This property specifies the list of extended information required by the applet, and each name in the list corresponds to the following attribute
2. <extension>-extension-name
3. <extension>-specification-version
4. <extension>-implementation-version
5. <extension>-implementation-vendor-id
5. <extension>-implementation-url
Four. Extended Identity Properties
1. Extension-name
This property defines the identity of the jar file, such as the Extension-name:struts Framework
Five. Package Extension Properties
1. Implementation-title defines the title of the extension implementation
2. Implementation-version defines the version of the extension implementation
3. Implementation-vendor defines the organization that extends the implementation
4. Implementation-vendor-id defines the identity of the organization to which the extension is implemented
5. Implementation-url: Define the Extension package (URL)
6. Specification-title defines the title of the extension specification
7. Specification-version defines the version of the extension specification
8. Specification-vendor declares the organization that maintains the specification.
9. Sealed defines if the jar file is sealed and the value can be true or false (I don't quite understand that)
Six. Signature-related properties
Signature Properties We can refer to a section of the Mail.jar provided by JavaMail
Name:javax/mail/address.class
Digest-algorithms:sha MD5
sha-digest:ajr7rqnn//cdygouxbd06msvfi4=
md5-digest:zntiq2aqatsniowxi1pqpw==
This section defines the class name of the class signature, the algorithm name of the calculation digest, and the corresponding digest content (encoded using the BASE64 method)
Seven. Custom attributes
In addition to some of the properties mentioned earlier, you can also add your own properties and the values of the responses in MANIFEST.MF, such as the J2ME program jar package may contain the following information
microedition-configuration:cldc-1.0
Midlet-name:j2me_mobber MIDlet Suite
midlet-info-url:http://www.javayou.com/
Midlet-icon:/icon.png
Midlet-vendor:midlet Suite Vendor
MIDlet-1: Mobber,/icon.png,mobber
midlet-version:1.0.0
microedition-profile:midp-1.0
Midlet-description:communicator
The point is, how do we read this information? In fact, the JDK provides us with an API for handling this information, and for detailed information, see
In the Java.util.jar package, we can get manifest information by passing the path of a jar file to Jarfile and then calling Jarfile's Getmanifest method.
Scenario **************************** for packaging. exe files
For Windows users, it's best to package a Java application as an. exe, and now I'll show you two methods.
1, with professional application packaging tools Installanywhere, this software can run on almost all platforms, of course, you have to download to the platform you need! And it also
Can be packaged as a setup program for each platform.
2, with the Mini free tool javalunch,javalauncher download URL is:
http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm
The downloaded file is a compressed package named Javalauncher.zip, after extracting the directory structure:
The source directory contains the Javalauncher program, which is written in C language.
L Changes.txt is a revised description of the new version
L Launch.exe is the main program
L LAUNCHER.CFG is a configuration file
L readme.txt are some instructions and examples
We only need to Launch.exe, launcher.cfg two files, copy the two files to the directory where the packaged files are located. Launcher.cfg is a text file with only three lines of content and modifies it as follows:
. \java1.4.2\jre\bin\javaw.exe
-jar Myswt.jar
The first line sets the directory that points to the jar package Myswt.jar, because Launch.exe and Myswt.jar are in a directory, so use "." That is the current directory.
L The second line sets the path to Jre\bin\javaw.exe.
Once you have configured Launcher.cfg, double-click Launch.exe to run the Java application.
If you look at how Eclipse starts, you find Eclipse and javalauncher the same principle: Eclipse.exe is equivalent to Launch.exe,startup.jar equivalent to Myswt.jar. But Eclipse.exe not like Launch.exe to have commonality, so it does not *.cfg such a configuration file, but the startup information is solidified in the Eclipse.exe.
Another: Landscaping icons
The icon for the Launch.exe file is too dull, so let's change it for a good show. To change the program's icon need to use a free software: Resource Hacker, it has the Chinese version, the download URL is:
http://www.users.on.net/johnson/resourcehacker/
Because this software has the Chinese version, here I will not say more, quite simple.------------------------wrote such a lump, I did not read it. Did not study the mood of the tool.
Plugin implementation. exe file export ****************************
A Jsmooth
1. Produced
Jsmooth,sourceforge.net
2. Type
Free
3. Download
http://jsmooth.sourceforge.net/download.php
4. Steps
A) Use eclipse to make the desired main class into a standalone jar package, noting the addition of the manifest attribute and the MainClass.
b) Create a new Jsmooth project
c) Select "Console" or "windowed" in the Sketlon
d) configuration in executable:
I. Executable Binary: Fill in the name of the destination output source. such as Test.exe.
Ii. executable icon: Choose a good watch
III. Current Driectory:. (indicates the present project directory, of course, it is possible to change to another, as you wish.)
e) configuration in application:
I. Classpath: Select the jar package that we generated and the class library that is required to run the jar file
II. MAIN-CLASS: Select the main class that we want to run.
Iii. optional use of an embedded jar: the class library that may be required to run the EXE (there can only be one class library).
f) configuration in JVM selection:
I. Minimum JVM version: Write a minimum of JVM-like versions required to run the program, such as 1.4
g) Compile:ok, after compiling successfully, there will be a new EXE program in your output directory. Just enjoy it.
Two exe4j
1. Produced
Ej-technologies
2. Type
Shared software,needs License
3. Download
http://www.ej-technologies.com/download/exe4j/files.php
4. Steps
A) Use eclipse to make the desired main class into a standalone jar package, noting the addition of the manifest attribute and the MainClass.
b) Create a new EXE4J project
c) Select "JAR in EXE" mode
d) configuration in Configure application:
I. Short name: Write casually.
II. ourput driectory: Select the output path.
e) configuration in Configure executable:
I. Executable type: There are three options, graphics, console. or service. Let's start with the simple point, here we choose Console
II. Executable name: Fill in the names of the destination output sources. such as Test.exe
Iii. icon File:exe file, but must be an. ico file
f) configuration in Configure Java invocation:
I. Classpath: Select the jar package that we generated and the class library that is required to run the jar file
II. MAIN-CLASS: Select the main class that we want to run.
Iii. Arguments (optional): input parameters. We don't need it here.
g) configuration in the Configure JRE:
I. Minimum version: Write a minimum version of the JVM required to run the program, such as 1.4
h) always next, the option for the steps encountered is default until Finish:ok. After compiling successfully, there will be a new EXE program in your output directory. Just enjoy it.
Three summary and comparison
There are many tools to generate EXE from Java, the above two are I personally feel that it is more convenient to use. The principle of the two are basically the same, but the specific use of a little bit different:
1. The same point
A) The most common point of course is that their principle is interoperable. is to execute the executable jar package by using a runnable Java program. Convert again.
b) The generated EXE executable program needs to run in a JVM environment with a higher than minimum version.
2. Different points
A) when generating EXE, if you want EXE to only need the pure JVM environment (do not need a third-party class library) can run. The jsmooth need to compress all of the third-party libraries into a jar package (because it has a embeded jar option), which is cumbersome, because when more jars are needed, they need to be decompressed first with JAR–XVF, using jar– CVF re-create the new jar file and put it in the embeded jar option, and exe4j will compile the jar package used in Classppath into the EXE.
b) Jsmooth is free, and exe4j is shareware, need to register, or in the execution of EXE will pop up annoying prompt box.
c) ico file selection: exe4j requires a strict ICO file, while Jsmooth can be compatible with a variety of other images such as JPG.
Windows double-click to run Java Software Packaging Scheme (GO)