zoukankan      html  css  js  c++  java
  • Setting an Application's Entry Point

    Setting an Application's Entry Point (The Java™ Tutorials > Deployment > Packaging Programs in JAR Files)

    Setting an Application's Entry Point

    If you have an application bundled in a JAR file, you need some way to indicate which class within the JAR file is your application's entry point. You provide this information with the Main-Class header in the manifest, which has the general form:

    Main-Class: classname
    

    The value classname is the name of the class that is your application's entry point.

    Recall that the entry point is a class having a method with signature public static void main(String[] args).

    After you have set the Main-Class header in the manifest, you then run the JAR file using the following form of the java command:

    java -jar JAR-name
    

    The main method of the class specified in the Main-Class header is executed.

    An Example

    We want to execute the main method in the class MyClass in the package MyPackage when we run the JAR file.

    We first create a text file named Manifest.txt with the following contents:

    Main-Class: MyPackage.MyClass
    

    Warning: 

    The text file must end with a new line or carriage return. The last line will not be parsed properly if it does not end with a new line or carriage return.


    We then create a JAR file named MyJar.jar by entering the following command:

    jar cfm MyJar.jar Manifest.txt MyPackage/*.class
    

    This creates the JAR file with a manifest with the following contents:

    Manifest-Version: 1.0
    Created-By: 1.6.0 (Sun Microsystems Inc.)
    Main-Class: MyPackage.MyClass
    

    When you run the JAR file with the following command, the main method of MyClass executes:

    java -jar MyJar.jar
    

    Setting an Entry Point with the JAR Tool

    The 'e' flag (for 'entrypoint'), introduced in JDK 6, creates or overrides the manifest's Main-Class attribute. It can be used while creating or updating a jar file. Use it to specify the application entry point without editing or creating the manifest file.
    For example, this command creates app.jar where the Main-Class attribute value in the manifest is set to MyApp:

    jar cfe app.jar MyApp MyApp.class
    

    You can directly invoke this application by running the following command:

    java -jar app.jar
    

    If the entrypoint class name is in a package it may use a '.' (dot) character as the delimiter. For example, if Main.class is in a package called foo the entry point can be specified in the following ways:

    jar cfe Main.jar foo.Main foo/Main.class
    
  • 相关阅读:
    淘宝技术分享
    15个富有创意的单页设计
    jQuery全能图片滚动插件
    jquery性能优化
    Algs4-1.4.40随机输入3-sum问题
    Algs4-1.4.39 改进倍率测试的精度
    Algs4-1.4.38 3-sum的初级算法与ThreeSum性能比较
    Algs4-1.4.37自动装箱的性能代价
    Algs4-1.4.35下压栈的时间成本
    Algs4-1.4.36下压栈的空间成本
  • 原文地址:https://www.cnblogs.com/lexus/p/2364126.html
Copyright © 2011-2022 走看看