gpt4 book ai didi

intellij-idea - Gradle依赖问题-Apache Storm

转载 作者:行者123 更新时间:2023-12-03 06:14:58 24 4
gpt4 key购买 nike

我在Gradle中遇到一些依赖问题。依赖包是apache storm(org.apache.storm:storm-core:0.9.5)并使用Intellij。

我需要使用Storm软件包进行编译,但不需要在运行时进行编译,因此我的build.gradle配置如下。

apply plugin: 'application'
apply plugin: 'idea'
apply plugin: 'eclipse'

...

configurations {
provided
}

idea {
module{
scopes.PROVIDED.plus += [configurations.provided]
}
}

eclipse {
classpath {
plusConfigurations += [configurations.provided]
}
}

sourceSets {
main {
compileClasspath += configurations.provided
runtimeClasspath += configurations.provided
}
test {
compileClasspath += configurations.provided
runtimeClasspath += configurations.provided
}
}

dependencies {
...
provided 'org.apache.storm:storm-core:0.9.5'
...
}

类似地,该配置允许Intellij知道链接到引用和构建的依赖关系。我的问题是我想在LocalMode中运行Storm拓 flutter ,但是当我这样做时,依赖关系似乎并没有在运行时引入,并且在下面显示了错误。如何在创建jar时排除软件包,而在通过Intellij或Eclipse运行时将其排除呢?
Connected to the target VM, address: '127.0.0.1:56593', transport: 'socket'
Exception in thread "main" java.lang.NoClassDefFoundError: backtype/storm/topology/IRichSpout
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2693)
at java.lang.Class.privateGetMethodRecursive(Class.java:3040)
at java.lang.Class.getMethod0(Class.java:3010)
at java.lang.Class.getMethod(Class.java:1776)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
Disconnected from the target VM, address: '127.0.0.1:56593', transport: 'socket'
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: backtype.storm.topology.IRichSpout
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more

最佳答案

我发现了一种通过配置运行/调试配置来显式包括我的应用程序jar和apache-storm jar的类路径的方法。

如果有更好的方法,我将很高兴听到。

关于intellij-idea - Gradle依赖问题-Apache Storm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31643403/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com