GVKun编程网logo

Gradle项目:java.lang.NoClassDefFoundError:kotlin / jvm / internal / Intrinsics(gradle项目结构)

11

最近很多小伙伴都在问Gradle项目:java.lang.NoClassDefFoundError:kotlin/jvm/internal/Intrinsics和gradle项目结构这两个问题,那么本

最近很多小伙伴都在问Gradle项目:java.lang.NoClassDefFoundError:kotlin / jvm / internal / Intrinsicsgradle项目结构这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展android – java.lang.NoClassDefFoundError:失败的解析:Lio / realm / internal / SharedRealm $Durability、Eclipse:java.lang.NoClassDefFoundError:javax / activation / DataHandler、Error:java: Internal compiler error: java.lang.Exception: java.lang.NoClassDefFoundError 解决、exception java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment等相关知识,下面开始了哦!

本文目录一览:

Gradle项目:java.lang.NoClassDefFoundError:kotlin / jvm / internal / Intrinsics(gradle项目结构)

Gradle项目:java.lang.NoClassDefFoundError:kotlin / jvm / internal / Intrinsics(gradle项目结构)

我正在做一个Java项目,在这个项目中,我第一次尝试使用Kotlin。我开始使用Intellij
Idea中提供的JavaToKoltin转换器将某些类转换为Kotlin。除其他外,我的自定义例外现在已转换为Kotlin。但是使用此异常处理不再正确。
如果我MyCustomKotlinException.kt在Java代码中抛出了一个自定义异常(例如),则不会捕获该异常(请参见下面的代码)。

// Example.javapackage fooimport java.util.*;import java.lang.*;import java.io.*;import foo.MyCustomKotlinException;class Example{    public static void main (String[] args)    {        try {            // Do some stuff            // if Error            MyCustomKotlinException e = new MyCustomKotlinException("Error Message");            throw e;        } catch (MyCustomKotlinException e) {  // <-- THIS PART IS NEVER REACHED            // Handle Exception        } catch (Throwable e) {            e.printStackTrace(); <-- This is catched        } finally {            // Finally ...        }    }}

因此任何人都可以向我解释为什么没有捕获到异常。MyCustomKotlinException是从Kotlins继承的,Kotlins
RuntimeException只是java.lang.RuntimeException

// MyCustomKotlinException.ktpackage fooclass MyCustomKotlinException(err: String) : RuntimeException(err)

更新:
我将throw部分分为两行(实例创建和throwing),发现问题不在于throwing。创建实例后将保留try块。我创建此Kotlin类的实例有什么问题吗?

Update2:
我添加了第二个catch块,Throwable并捕获了以下Throwable。

java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics...Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics

Update3:
更改了标题以更正错误,并通过将所有项目文件添加到jar中解决了问题(请参见下面的答案)。将Kotlin运行时库添加到gradle对我不起作用。

答案1

小编典典

将所有项目文件添加到jar中对我来说解决了这个问题。我将以下行添加到我的build.gradle

jar {    manifest {        attributes ...    }    // This line of code recursively collects and copies all of a project''s files    // and adds them to the JAR itself. One can extend this task, to skip certain    // files or particular types at will    from { configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } }}

更新
:改变configurations.compile.collectconfigurations.compileClasspath.collect根据本下面的答案。

android – java.lang.NoClassDefFoundError:失败的解析:Lio / realm / internal / SharedRealm $Durability

android – java.lang.NoClassDefFoundError:失败的解析:Lio / realm / internal / SharedRealm $Durability

我正在尝试使用Realm创建一个演示应用程序,使用Facebook的stetho浏览default.realm.我每次尝试使用chrome:// inspect>在谷歌浏览器上打开default.realm时出现此错误资源> Web sql> default.realm

这就是我所做的.

的build.gradle

repositories {
    maven {
        url 'https://github.com/uPhyca/stetho-realm/raw/master/maven-repo'
    }
}

dependencies {
    ...
    compile 'com.uphyca:stetho_realm:2.0.0'
    compile 'com.facebook.stetho:stetho:1.4.1'
}

我的应用类

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
RealmConfiguration realmConfiguration = new RealmConfiguration.Builder(this).build();
        Realm.setDefaultConfiguration(realmConfiguration);

        Stetho.initialize(
                Stetho.newInitializerBuilder(this)
                        .enableDumpapp(Stetho.defaultDumperPluginsprovider(this))
                        .enableWebKitInspector(Stetho.defaultInspectorModulesProvider(this))
                        .build());
    }
}

应用程序崩溃时出现此错误:

E/AndroidRuntime: FATAL EXCEPTION: StethoWorker-main-304
                  Process: example.com.demoapp,PID: 12830
                  java.lang.NoClassDefFoundError: Failed resolution of: Lio/realm/internal/SharedRealm$Durability;
                      at com.uphyca.stetho_realm.RealmPeerManager.openSharedRealm(RealmPeerManager.java:136)
                      at com.uphyca.stetho_realm.RealmPeerManager.openSharedRealm(RealmPeerManager.java:128)
                      at com.uphyca.stetho_realm.RealmPeerManager.getDatabaseTableNames(RealmPeerManager.java:55)
                      at com.uphyca.stetho_realm.Database.getDatabaseTableNames(Database.java:124)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.facebook.stetho.inspector.Methoddispatcher$MethoddispatchHelper.invoke(Methoddispatcher.java:96)
                      at com.facebook.stetho.inspector.Methoddispatcher.dispatch(Methoddispatcher.java:67)
                      at com.facebook.stetho.inspector.ChromeDevtoolsServer.handleRemoteRequest(ChromeDevtoolsServer.java:129)
                      at com.facebook.stetho.inspector.ChromeDevtoolsServer.handleRemoteMessage(ChromeDevtoolsServer.java:111)
                      at com.facebook.stetho.inspector.ChromeDevtoolsServer.onMessage(ChromeDevtoolsServer.java:87)
                      at com.facebook.stetho.websocket.WebSocketSession$1.handleTextFrame(WebSocketSession.java:176)
                      at com.facebook.stetho.websocket.WebSocketSession$1.onCompleteFrame(WebSocketSession.java:136)
                      at com.facebook.stetho.websocket.ReadHandler.readLoop(ReadHandler.java:44)
                      at com.facebook.stetho.websocket.WebSocketSession.handle(WebSocketSession.java:45)
                      at com.facebook.stetho.websocket.WebSocketHandler.doUpgrade(WebSocketHandler.java:117)
                      at com.facebook.stetho.websocket.WebSocketHandler.handleRequest(WebSocketHandler.java:83)
                      at com.facebook.stetho.server.http.LightHttpServer.dispatchToHandler(LightHttpServer.java:84)
                      at com.facebook.stetho.server.http.LightHttpServer.serve(LightHttpServer.java:61)
                      at com.facebook.stetho.inspector.DevtoolsSocketHandler.onAccepted(DevtoolsSocketHandler.java:52)
                      at com.facebook.stetho.server.ProtocolDetectingSocketHandler.onSecured(ProtocolDetectingSocketHandler.java:63)
                      at com.facebook.stetho.server.SecureSocketHandler.onAccepted(SecureSocketHandler.java:33)
                      at com.facebook.stetho.server.LazySocketHandler.onAccepted(LazySocketHandler.java:36)
                      at com.facebook.stetho.server.LocalSocketServer$WorkerThread.run(LocalSocketServer.java:167)
                   Caused by: java.lang.classNotFoundException: Didn't find class "io.realm.internal.SharedRealm$Durability" on path: DexPathList[[dex file "/data/data/example.com.demoapp/files/instant-run/dex/slice-support-annotations-24.2.1_fe2fc8f98c9647365914a4e0809de4cf3bdd5d0f-classes.dex",dex file "/data/data/example.com.demoapp/files/instant-run/dex/slice-slice_9-classes.dex",dex file "/data/data/example.com.demoapp/files/instant-run/dex/slice-slice_8-classes.dex",dex file "/data/data/example.com.demoapp/files/instant-run/dex/slice-slice_7-classes.dex",dex file "/data/data/example.com.demoapp/files/instant-run/dex/slice-slice_6-classes.dex",dex file "/data/data/example.com.demoapp/files/instant-run/dex/slice-slice_5-classes.dex",dex file "/data/data/example.com.demoapp/files/instant-run/dex/slice-slice_4-classes.dex",dex file "/data/data/example.com.demoapp/files/instant-run/dex/slice-slice_3-classes.dex",dex file "/data/data/example.com.demoapp/files/instant-run/dex/slice-slice_2-classes.dex",dex file "/data/data/example.com.demoapp/files/instant-run/dex/slice-slice_1-classes.dex",dex file "/data/data/example.com.demoapp/files/instant-run/dex/slice-slice_0-classes.dex",dex file "/data/data/example.com.demoapp/files/instant-run/dex/slice-realm-android-0.87.4_a528e85f9603c6e64968c150f61258a1621159d0-classes.dex",dex file "/data/data/example.com.demoapp/files/instant-run/dex/slice-jsr305-2.0.1_54f738210fc8c811d7251e6035f61735e3c90b00-classes.dex",dex file "/data/data/example.com.demoapp/files/instant-run/dex/slice-internal_impl-24.2.1_d63817604dbcd8615733073ed4cf6bd29db871e2-classes.dex",dex file "/data/data/example.com.demoapp/files/instant-run/dex/slice-internal_impl-24.2.1_d432bb06a79cf966d865aa5fa44c857409504f1f-classes.dex",dex file "/data/data/example.com.d

解决方法

您正在使用一个极其过时的Realm版本,Stetho-Realm 2.0.0不支持该版本.

您应该使用the 1.x branch of Stetho-Realm打开您的领域.

repositories {
    maven {
        url 'https://github.com/uPhyca/stetho-realm/raw/master/maven-repo'
    }
}

dependencies {
    compile 'com.facebook.stetho:stetho:1.3.1'
    compile 'com.uphyca:stetho_realm:0.9.0'
}

Eclipse:java.lang.NoClassDefFoundError:javax / activation / DataHandler

Eclipse:java.lang.NoClassDefFoundError:javax / activation / DataHandler

我正在尝试用Java发送电子邮件。这是代码:

String mailSmtpHost = "smtp.example.com";
String mailTo = "email@example.com";
        String mailFrom = "email@example.com";
        String mailSubject = "Email subject";
        String mailText = "Some text";
        Properties properties = new Properties();
        properties.put("mail.smtp.host",mailSmtpHost);
        Session emailSession = Session.getDefaultInstance(properties);
try {
            Message emailMessage = new MimeMessage(emailSession);
            emailMessage.addRecipient(Message.RecipientType.TO,new InternetAddress(mailTo));
            emailMessage.setFrom(new InternetAddress(mailFrom));
            emailMessage.setSubject(mailSubject);
            emailMessage.setText(mailText);
            emailSession.setDebug(true);
            Transport.send(emailMessage);
        }catch(Exception e) {
            System.out.println("Errore email: "+e.toString());
        }

当我编译项目时,在线:

Message emailMessage = new MimeMessage(emailSession);

…出现以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/activation/DataHandler

注意:我正在使用 java -version: 9.0.4

Error:java: Internal compiler error: java.lang.Exception: java.lang.NoClassDefFoundError 解决

Error:java: Internal compiler error: java.lang.Exception: java.lang.NoClassDefFoundError 解决

Error:java: Internal compiler error: java.lang.Exception: java.lang.NoClassDefFoundError 解决

IDEA 发现一个奇怪的错误
今天用 IDEA2018.1 运行 SpringBoot 项目报错如下:
Error:java: Internal compiler error: java.lang.Exception: java.lang.NoClassDefFoundError: org/springframework/boot/configurationprocessor/metadata/ConfigurationMetadata at org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.handleProcessor(RoundDispatcher.java:169)
解决方案:
分下看这个跟 Eclipse 有关,可是这个不是 Eclipse 项目(没有 Eclipse 的 Workspeace 信息),后来查找发现跟 Eclipse 有关设置就是之前自己设置锅编译器,改过来问题得到解决。解决步骤:IDEA 中 File-->settings-->Bulid Execution Deloyment-->Complier-->Java Complier 中的 user complier 有原来的 Eclipse 改为 javac 即可

exception java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment

exception java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment

 

exception java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment

CreationTime--2018年9月5日17点09分

Author:Marydon

1.情景展示

  在linux服务器下,运行的tomcat,通过java绘制图片的时候报错信息如下:

  在本地测试却没有问题

2.原因分析

   Java服务器处理图形元素,这些API需要运行一个X-server以便能使用AWT(Abstract Window Toolkit,抽象窗口工具集),因此,

  之所以报错是因为:tomcat在启用时,Xserver服务没有启动。

3.解决方案

  在Tomcat/bin/catalina.sh文件中增加:JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"

  重启tomcat即可。

 

 相关推荐:

  • 类似文章

 

 

关于Gradle项目:java.lang.NoClassDefFoundError:kotlin / jvm / internal / Intrinsicsgradle项目结构的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于android – java.lang.NoClassDefFoundError:失败的解析:Lio / realm / internal / SharedRealm $Durability、Eclipse:java.lang.NoClassDefFoundError:javax / activation / DataHandler、Error:java: Internal compiler error: java.lang.Exception: java.lang.NoClassDefFoundError 解决、exception java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment的相关信息,请在本站寻找。

本文标签: