GVKun编程网logo

如何使用模块化Java在Gradle 6.6中设置mainClassName(gradle多模块构建)

12

本篇文章给大家谈谈如何使用模块化Java在Gradle6.6中设置mainClassName,以及gradle多模块构建的知识点,同时本文还将给你拓展ClassObject.getClass,Clas

本篇文章给大家谈谈如何使用模块化Java在Gradle 6.6中设置mainClassName,以及gradle多模块构建的知识点,同时本文还将给你拓展ClassObject.getClass,ClassName.class和Class.forName(“ ClassName”)之间的区别、getElementsByClassName()如何使用?总结getElementsByClassName()实例用法、Gradle 带来了错误版本的传递依赖[java.lang.NoClassDefFoundError in Gradle]、gradle 打包运行配置 Main-Class等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何使用模块化Java在Gradle 6.6中设置mainClassName(gradle多模块构建)

如何使用模块化Java在Gradle 6.6中设置mainClassName(gradle多模块构建)

6.3版不支持JPMS,但6.4版以上不支持。因此,我假设您正在使用第三方gradle-modules-plugin。对于此插件,您需要使用1.7.0版或更高版本来支持Gradle的较新版本。

或者,删除插件并在Gradle中使用native support。现在看来,您同时是两者的混合体。

,

在6.3 mainClassName = "$moduleName/app.Main"中工作

在6.4+版本中工作


run {
    main = "$moduleName/app.Main"
}

ClassObject.getClass,ClassName.class和Class.forName(“ ClassName”)之间的区别

ClassObject.getClass,ClassName.class和Class.forName(“ ClassName”)之间的区别

我想了解Class.forName(“
ClassName”)和ClassObject.getClass是否都返回该类的运行时实例。然后为什么在比较从这两个对象获得的结果Class对象时获取一个布尔值false(如果我们使用==或equals进行比较)。
我也想知道在类名上调用.class方法的确切用途。我读到它是在编译时等确定的,但目的是什么。Class.forName(“ ClassName”)是否足够?
谢谢

getElementsByClassName()如何使用?总结getElementsByClassName()实例用法

getElementsByClassName()如何使用?总结getElementsByClassName()实例用法

前面为大家介绍了一些有关html5新添加的选择器,分别是queryselector(),queryselectorall()和getelementsbyclassname()。这三个都有自己独特的功能,大家有需要的话可以看html5实战与剖析中的相关内容。今天为大家介绍classlist属性。  

classList属性究竟是干什么的,我们先撇下classList不管。我们考虑这么一个问题,那就是我们如何将拥有多个类名的元素中的其中一个类名删除呢?梦龙较劲脑汁儿终于想到一个实现的方法。

将拥有类名li、meng和long,三个类名中的类名meng删除。

代码如下  

HTML代码
<p>梦龙小站</p>  
JavaScript代码
//获取要删除类名meng的p
var
登录后复制

1. HTML5实战与剖析之classList属性

getElementsByClassName()如何使用?总结getElementsByClassName()实例用法

简介:  

前面为大家介绍了一些有关HTML5新添加的选择器,分别是querySelector(),querySelectorAll()和getElementsByClassName()。这三个都有自己独特的功能,大家有需要的话可以看Html5实战与剖析中的相关内容。今天为大家介绍classList属性。

2. HTML5实战与剖析之CSS选择器——getElementsByClassName()方法

getElementsByClassName()如何使用?总结getElementsByClassName()实例用法

简介:  

HTML5中的querySelector()方法和querySelectorAll()方法都在前几篇中为大家介绍过了,不知道大家了解得怎么样了呢?

在这里复习一下,querySelector()方法是返回与传递的CSS选择符相匹配的第一个元素;querySelectorAll()方法是返回与传递的CSS选择符相匹配的所有元素,是一个NodeList对象。

简单的回顾之后,我来分享一下新一个方法——getElementsByClassName()方法。

【相关问答推荐】:

javascript - 如何获取getElementsByClassName()数组的下标?

javascript - 为什么下面这个代码不能把id换成class

以上就是getElementsByClassName()如何使用?总结getElementsByClassName()实例用法的详细内容,更多请关注php中文网其它相关文章!

Gradle 带来了错误版本的传递依赖[java.lang.NoClassDefFoundError in Gradle]

Gradle 带来了错误版本的传递依赖[java.lang.NoClassDefFoundError in Gradle]

如何解决Gradle 带来了错误版本的传递依赖[java.lang.NoClassDefFoundError in Gradle]?

我有一个多项目构建。

它的一个模块 X 带来了一个包含传递弹性客户端依赖项的依赖项 B:

    api (group: ''org.elasticsearch.client'',name: ''elasticsearch-rest-high-level-client'',version: 7.9.0) {
        exclude group: ''org.yaml'',module: ''snakeyaml''
    }

我在 X 内部进行了使用 B 的方法的测试,其中我将弹性客户端类作为参数传递。

X 使用 Spring Boot Gradle 插件。

在运行时,在执行使用依赖项 B 进行 ES 测试的集成测试期间,我收到此异常(原始类被屏蔽)

Exception in thread "I/O dispatcher 4" java.lang.NoClassDefFoundError: org/elasticsearch/cluster/Metadata/AliasMetadata
        at dependencyB.myESService.index
        at io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:57)
        at io.reactivex.internal.operators.single.SingleDoOnSuccess$DoOnSuccess.onSuccess(SingleDoOnSuccess.java:60)
        at io.reactivex.internal.operators.single.SingleResumeNext$ResumeMainSingleObserver.onSuccess(SingleResumeNext.java:65)
        at io.reactivex.internal.operators.single.SingleFlatMap$SingleFlatMapCallback$FlatMapSingleObserver.onSuccess(SingleFlatMap.java:111)
        at io.reactivex.internal.operators.single.SingleCreate$Emitter.onSuccess(SingleCreate.java:67)
...
        at org.elasticsearch.client.RestHighLevelClient$1.onSuccess(RestHighLevelClient.java:1663)
        at org.elasticsearch.client.RestClient$FailureTrackingResponseListener.onSuccess(RestClient.java:590)
        at org.elasticsearch.client.RestClient$1.completed(RestClient.java:333)
        at org.elasticsearch.client.RestClient$1.completed(RestClient.java:327)
        at org.apache.http.concurrent.BasicFuture.completed(BasicFuture.java:122)
        at org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl.responseCompleted(DefaultClientExchangeHandlerImpl.java:181)
        at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.processResponse(HttpAsyncRequestExecutor.java:448)
        at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.inputReady(HttpAsyncRequestExecutor.java:338)
        at org.apache.http.impl.nio.DefaultNHttpClientConnection.consumeInput(DefaultNHttpClientConnection.java:265)
        at org.apache.http.impl.nio.client.InternalIOdispatch.onInputReady(InternalIOdispatch.java:81)
        at org.apache.http.impl.nio.client.InternalIOdispatch.onInputReady(InternalIOdispatch.java:39)
        at org.apache.http.impl.nio.reactor.AbstractIOdispatch.inputReady(AbstractIOdispatch.java:114)
        at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162)
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337)
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)
        at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
        at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:591)
        at java.base/java.lang.Thread.run(Thread.java:834)
    Caused by: java.lang.classNotFoundException: org.elasticsearch.cluster.Metadata.AliasMetadata
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.classLoader.loadClass(ClassLoader.java:521)
        ... 27 more

我不直接使用冲突的类。

Gradle 任务 dependencies 给了我一个提示(隐藏的内部版本和名称)

+--- org.path:dependencyB:123
|    +--- org.path:another-lib:123 (*)
|    +--- org.path:third-lib:123 (*)
|    \--- **org.elasticsearch.client:elasticsearch-rest-high-level-client:7.9.0 -> 7.6.2**

据我所知,正在使用 ES 客户端的 7.6.2 版本而不是 7.9.0,这会导致问题。

我不知道为什么会这样 - 就我而言,没有从其他任何地方提取 ES 客户端,并且 there are no custom rules 用于依赖版本。

我是否正确以及如何解决?任何提示?有什么想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

gradle 打包运行配置 Main-Class

gradle 打包运行配置 Main-Class

用 gradle 编译,打包了一个 Java 项目

如果打成的包不用 gradle run 命令运行,用 Java 命令运行,但是 jar 包中没有配置相关的 Main-Class, 怎样配置 gradle 才能让 jar 包中包含 Main-Class?

关于如何使用模块化Java在Gradle 6.6中设置mainClassNamegradle多模块构建的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于ClassObject.getClass,ClassName.class和Class.forName(“ ClassName”)之间的区别、getElementsByClassName()如何使用?总结getElementsByClassName()实例用法、Gradle 带来了错误版本的传递依赖[java.lang.NoClassDefFoundError in Gradle]、gradle 打包运行配置 Main-Class的相关知识,请在本站寻找。

本文标签: