最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jar的MANIFEST.MF配置Class-Path, java -classpath設置無效的解決

 更新時間:2023年07月21日 15:26:12   作者:柳鯤鵬  
這篇文章主要介紹了jar的MANIFEST.MF配置Class-Path, java -classpath設置無效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

jar的MANIFEST.MF配置Class-Path, java -classpath設置無效

比如說,

jar的MANIFEST.MF:

Manifest-Version: 1.0
Main-Class: office.Main
Class-Path: .?
? ?../lib/graphics.jar  

運行:

java -classpath .;lib\video.jar -jar Office.jar

表面上看是對的,實際上因為jar中已經(jīng)包含了Class-Path,所以這樣的參數(shù)是無效的。吾怎么知道的?因為吾被坑了才知道。

jar包下MANIFEST.MF中的 Class-Path 設置

1. 基本格式  

  • 屬性名稱+:+空格+屬性值  

2. 沒行最多72個字符,換行繼續(xù)必須以空格開頭  

3. 文件最后必須要有一個回車換行  

4. Class-Path 當前路徑是jar包所在目錄,如果要引用當前目錄下一個子目錄中的jar包,使用以下格式  

  • 子目錄/xxx.jar 子目錄/yyy.jar  
  • 技巧:多個jar包的引用,可以使用 .classpath 文件中classpathentry 的值  

5. 在任何平臺上路徑分割符都是 /,多個jar包引用以空格分開

Manifest-Version: 1.0
Agent-Class: com.ali.b2b.crm.dynamic.agent.MyAgentMain
Main-Class: com.ali.b2b.crm.dynamic.agent.Dynamic
Can-Redefine-Classes: true
Can-Retransform-Classes: true
Boot-Class-Path: javassist.jar
Class-Path: lib/tools.jar lib/guava-r09.jar lib/guice-2.0.jar?
?lib/jakarta.commons.lang-2.2.jar lib/jakarta.commons.logging-0.0.0.jar lib/javassist.jar

jar包中MANIFEST.MF相關內(nèi)容

打包jar包的時候 ,有一個文件夾叫 META-INF/MANIFEST.MF 這個文件里保存一些該jar包的信息. 我們javaagent的相關信息也保存在這個文件中.

還有一個很重要的問題是里面有一個字段叫Class-Path 可以設置調(diào)用的jar包路徑, 改路徑可以寫相對路徑 , 也就是相對于該jar包的路徑

有多個jar包 可以用空格分開 每行內(nèi)容不能超過70字符

MANIFEST.MF文件可以由maven生成 , 需要在pom文件中設置

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.2.2</version>
                <configuration>
                    <archive>
                        <!--自動添加META-INF/MANIFEST.MF -->
                        <manifest>
                            <addClasspath>true</addClasspath>
                        </manifest>
                        <manifestEntries>
                            <Premain-Class>org.agent.Agent</Premain-Class>
                            <Can-Redefine-Classes>true</Can-Redefine-Classes>
                            <Can-Retransform-Classes>true</Can-Retransform-Classes>
                            <Class-Path>lib/javassist-3.9.0.jar</Class-Path>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

生成的文件內(nèi)容如下:

Manifest-Version: 1.0
Premain-Class: org.agent.Agent
Can-Redefine-Classes: true
Can-Retransform-Classes: true
Class-Path: lib/javassist-3.9.0.jar
Build-Jdk-Spec: 1.8
Created-By: Maven JAR Plugin 3.2.2

參數(shù)介紹

  • Premain-Class:包含 premain 方法的類(類的全路徑名)
  • Agent-Class:包含 agentmain 方法的類(類的全路徑名)
  • Boot-Class-Path:設置引導類加載器搜索的路徑列表。查找類的特定于平臺的機制失敗后,引導類加載器會搜索這些路徑。按列出的順序搜索路徑。列表中的路徑由一個或多個空格分開。路徑使用分層 URI 的路徑組件語法。如果該路徑以斜杠字符(“/”)開頭,則為絕對路徑,否則為相對路徑。相對路徑根據(jù)代理 JAR 文件的絕對路徑解析。忽略格式不正確的路徑和不存在的路徑。如果代理是在 VM 啟動之后某一時刻啟動的,則忽略不表示 JAR 文件的路徑。(可選)
  • Can-Redefine-Classes:true表示能重定義此代理所需的類,默認值為 false(可選)
  • Can-Retransform-Classes:true 表示能重轉換此代理所需的類,默認值為 false (可選)
  • Can-Set-Native-Method-Prefix: true表示能設置此代理所需的本機方法前綴,默認值為 false(可選)

即在該文件中主要定義了程序運行相關的配置信息,程序運行前會先檢測該文件中的配置項。

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 淺談Java 類中各成分加載順序和內(nèi)存中的存放位置

    淺談Java 類中各成分加載順序和內(nèi)存中的存放位置

    下面小編就為大家?guī)硪黄獪\談Java 類中各成分加載順序和內(nèi)存中的存放位置。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Spring框架中@Lazy延遲加載原理和使用詳解

    Spring框架中@Lazy延遲加載原理和使用詳解

    這篇文章主要介紹了Spring框架中@Lazy延遲加載原理和使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • Maven多模塊工程Module開發(fā)(圖文教程)

    Maven多模塊工程Module開發(fā)(圖文教程)

    這篇文章主要介紹了Maven多模塊工程Module開發(fā)(圖文教程),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 關于logback日志級別動態(tài)切換的四種方式

    關于logback日志級別動態(tài)切換的四種方式

    這篇文章主要介紹了關于logback日志級別動態(tài)切換的四種方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • java實現(xiàn)批量導入Excel表格數(shù)據(jù)到數(shù)據(jù)庫

    java實現(xiàn)批量導入Excel表格數(shù)據(jù)到數(shù)據(jù)庫

    這篇文章主要為大家詳細介紹了java實現(xiàn)批量導入Excel表格數(shù)據(jù)到數(shù)據(jù)庫,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • Spring中基于xml的聲明式事務示例詳解

    Spring中基于xml的聲明式事務示例詳解

    這篇文章主要介紹了Spring之基于xml的聲明式事務,本文通過圖文實例代碼相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • Java多線程之簡單模擬售票功能

    Java多線程之簡單模擬售票功能

    這篇文章主要介紹了Java多線程之簡單模擬售票功能,文中有非常詳細的代碼示例,對正在學習java的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-04-04
  • MyBatis-Plus詳解(環(huán)境搭建、關聯(lián)操作)

    MyBatis-Plus詳解(環(huán)境搭建、關聯(lián)操作)

    MyBatis-Plus 是一個 MyBatis 的增強工具,在 MyBatis 的基礎上只做增強不做改變,為簡化開發(fā)、提高效率而生,今天通過本文給大家介紹MyBatis-Plus環(huán)境搭建及關聯(lián)操作,需要的朋友參考下吧
    2022-09-09
  • dubbo3 filter(過濾器)如何自定義過濾器

    dubbo3 filter(過濾器)如何自定義過濾器

    dubbo3filter(過濾器)類似于javaweb中的filter和springmvc中的intercaptor,用于在請求發(fā)送前或到達前進行預處理工作,完成限流和監(jiān)控,在dubbo中,過濾器運行在consumer和provider兩端,分別在調(diào)用鏈中執(zhí)行
    2025-03-03
  • java自定義注解實現(xiàn)前后臺參數(shù)校驗的實例

    java自定義注解實現(xiàn)前后臺參數(shù)校驗的實例

    下面小編就為大家?guī)硪黄猨ava自定義注解實現(xiàn)前后臺參數(shù)校驗的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11

最新評論

庐江县| 平泉县| 山西省| 大宁县| 分宜县| 阳信县| 额尔古纳市| 古浪县| 织金县| 建瓯市| 那坡县| 吉首市| 宜城市| 赤壁市| 柏乡县| 都匀市| 兴安县| 海门市| 高阳县| 云安县| 浠水县| 和顺县| 革吉县| 汕头市| 青铜峡市| 普格县| 驻马店市| 绵阳市| 彭州市| 五台县| 雷州市| 宁强县| 元氏县| 汝南县| 德阳市| 晴隆县| 民勤县| 湟源县| 牙克石市| 绩溪县| 永城市|