<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
    主站蜘蛛池模板: 成年男女男精品免费视频网站 | 最近最新MV在线观看免费高清| 亚洲国产精品成人精品软件| 日韩高清在线免费看| 久久成人永久免费播放| 亚洲av永久无码精品三区在线4| 免费又黄又硬又爽大片| 四虎国产成人永久精品免费| 亚洲精品久久无码| 精品国产综合成人亚洲区| 99视频在线精品免费观看6| 亚洲免费视频一区二区三区| 亚洲欧洲自拍拍偷午夜色| 亚洲成a人一区二区三区| 色播精品免费小视频| 国产乱子伦精品免费视频| 亚洲国产精品免费观看 | a级片免费在线播放| 国产成人精品日本亚洲专区6| 久久亚洲中文字幕精品一区| 最近的中文字幕大全免费版| 天黑黑影院在线观看视频高清免费| 亚洲中文字幕无码一去台湾| 亚洲国产精品一区二区第一页 | 亚洲成人激情在线| 亚洲v国产v天堂a无码久久| xx视频在线永久免费观看| 香蕉免费一级视频在线观看| 亚洲av无码专区国产不乱码| 亚洲精品第五页中文字幕| 亚洲一区二区三区AV无码| 国产高清在线免费| 国产乱码免费卡1卡二卡3卡| 免费观看男人吊女人视频| 一二三区免费视频| 羞羞视频在线免费观看| 亚洲成av人片在线天堂无| 亚洲中文字幕人成乱码| 亚洲人成电影在在线观看网色| 亚洲无人区一区二区三区| 亚洲AV中文无码乱人伦|