日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了使用JAR-in-JAR加載器時出現NoClassDefFoundError的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我有一個使用Ant構建導出到可運行JAR的Eclipse項目,并且我使用JAR-in-JAR加載器將一些JAR庫放入項目JAR中。這曾經是可行的,在我的記憶中,更新到Java 9是破壞它的原因。我可能錯了,但我只是用了我的罐子一段時間,直到它停止工作。

在Eclipse中運行項目很好,但當我使用JAR并調用其中一個庫中的方法時,我得到一個NoClassDefFoundError。不管是哪個庫。

java.lang.NoClassDefFoundError: myutils/MyUtils
        at packagename.Utils.input(Utils.java:42)
        at packagename.Main.main(Main.java:83)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.ClassNotFoundException: myutils.MyUtils
        at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:436)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        ... 7 more

以下是Ant版本:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="create_run_jar" name="Create Runnable Jar for Project ProjectName with Jar-in-Jar Loader">
    <!--this file was created by Eclipse Runnable JAR file Export Wizard-->
    <!--ANT 1.7 is required-->
    <!--define folder properties-->
    <property name="dir.buildfile" value="."/>
    <property name="dir.workspace" value="${dir.buildfile}/.."/>
    <property name="dir.libraries" value="${dir.buildfile}/../../libraries"/>
    <property name="dir.projectjars" value="${dir.buildfile}/../../project-jars"/>
    <target name="create_run_jar">
        <jar destfile="${dir.projectjars}/jarname.jar">
            <manifest>
                <attribute name="Main-Class" value="org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader"/>
                <attribute name="Rsrc-Main-Class" value="packagename.Main"/>
                <attribute name="Class-Path" value="."/>
                <attribute name="Rsrc-Class-Path" value="./ guava-19.0.jar jsoup-1.9.1.jar myutils.jar"/>
            </manifest>
            <zipfileset src="jar-in-jar-loader.zip"/>
            <fileset dir="${dir.buildfile}/bin"/>
            <zipfileset dir="${dir.libraries}" includes="guava-19.0.jar"/>
            <zipfileset dir="${dir.libraries}" includes="jsoup-1.9.1.jar"/>
            <zipfileset dir="${dir.projectjars}" includes="myutils.jar"/>
        </jar>
    </target>
</project>

編輯:以下是MANIFEST.MF

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.10.5
Created-By: 12.0.2+10 (Oracle Corporation)
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
Rsrc-Main-Class: packagename.Main
Rsrc-Class-Path: ./ guava-19.0.jar jsoup-1.9.1.jar myutils.jar
Class-Path: .

推薦答案

問題

可能您的文件jar-in-jar-loader.zip已過時,不適合Java&gt;=9,我也遇到了同樣的問題。

解決方案

要獲取該文件的最新版本,請右鍵單擊您的項目-&>導出-&>可運行的JAR文件–選中&>另存為Ant腳本–&>完成。這將在您的項目目錄中創建jar-in-jar-loader.zip的最新版本。螞蟻腳本本身不需要調整,至少在我的例子中是這樣。

這篇關于使用JAR-in-JAR加載器時出現NoClassDefFoundError的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:JAR NoClassDefFoundError 加載
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定