<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Bryan

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      37 Posts :: 3 Stories :: 24 Comments :: 0 Trackbacks

    Introduction

    Java developers often come to a point where they wish to deliver their application as a single Jar file. The Java Runtime Environment supports running a Jar file using the following syntax:
    java -jar jarname.jar
    
    The only requirement of the jarname.jar file is that it contains a manifest attribute with the key Main-Class a main class to run. Suppose the application entry point is the class com.mydomain.mypackage.Main. Add the following line to the META-INF/MANIFEST.MF file:
    Main-Class: com.mydomain.mypackage.Main
    
    So far so good. But, here's where the problems usually start. Any non-trivial Java application is going to rely on any number of supporting Jar files. For example, using the Apache Commons Logging capabilty to do logging an application will need to have the commons-logging.jar file on its classpath.

    Most developers reasonably assume that putting such a Jar file into their own Jar file, and adding a Class-Path attribute to the META-INF/MANIFEST will do the trick:

    jarname.jar
    | /META-INF
    | | MANIFEST.MF
    | |  Main-Class: com.mydomain.mypackage.Main
    | |  Class-Path: commons-logging.jar
    | /com/mydomain/mypackage
    | | Main.class
    | commons-logging.jar
    
    Unfortunately this is not the case. The Java classloader does not know how to load classes from a Jar inside a Jar. The entries on the Class-Path must be references to files outside the Jar file, defeating the goal of delivering an application in a single Jar file.

    Developers can write code to implement this function to load the classes from a jar inside a Jar.but we got good news that we can use the eclipse plugin FatJar in order to help us to make such a runable jar file. But Eclipse Galileo V3.5.2 has such a built in plugin to build such a jar file.It provides end users three ways and you can choose per to your request . I am pondering on this problem for two days and I hope this article which most parts come from the internet can help you.



    And you can get access to the sun website and got the following note:

    You specify classes to include in the Class-Path header field in the manifest file of an applet or application. The Class-Path header takes the following form:

    Class-Path: jar1-name jar2-name directory-name/jar3-name
    
    By using the Class-Path header in the manifest, you can avoid having to specify a long -classpath flag when invoking Java to run the your application.
    Note: The Class-Path header points to classes or JAR files on the local network, not JAR files within the JAR file or classes accessible over internet protocols. To load classes in JAR files within a JAR file into the class path, you must write custom code to load those classes. For example, if MyJar.jar contains another JAR file called MyUtils.jar, you cannot use the Class-Path header in MyJar.jar's manifest to load classes in MyUtils.jar into the class path.
    posted on 2010-06-19 15:29 Life is no respector of any genius. 閱讀(500) 評(píng)論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 男人的好免费观看在线视频| 亚洲中文字幕无码久久| 无码日韩精品一区二区免费暖暖| 亚洲电影中文字幕| 毛片a级三毛片免费播放| 日韩在线视频线视频免费网站| 亚洲午夜久久久影院伊人| 国产亚洲精品无码专区| 精品无码国产污污污免费网站 | 亚洲中文无码a∨在线观看| 高清国语自产拍免费视频国产| 久香草视频在线观看免费| 亚洲综合久久1区2区3区| 亚洲成人高清在线| 国产福利视精品永久免费| 国产综合成人亚洲区| 亚洲综合免费视频| 亚洲精品无码久久毛片 | 国产A在亚洲线播放| 日本免费一区二区三区最新vr| 国产婷婷成人久久Av免费高清| 亚洲AV无码一区二区大桥未久| 日韩视频免费在线| 无码人妻一区二区三区免费看| 免费人成视频在线播放| 亚洲色图激情文学| 亚洲av无码潮喷在线观看| 免费国产怡红院在线观看| 国产片AV片永久免费观看| 最近免费mv在线观看动漫| 高清免费久久午夜精品| 亚洲色最新高清av网站| 亚洲好看的理论片电影| 在线亚洲人成电影网站色www| 免费无遮挡无码视频网站| 国产92成人精品视频免费| 国产好大好硬好爽免费不卡| 一级特黄a大片免费| 亚洲精华国产精华精华液| 亚洲二区在线视频| 久久久久亚洲AV无码观看|