【问题标题】:storm-starter with intellij idea,maven project could not find class带有intellij想法的storm-starter,maven项目找不到类
【发布时间】:2015-06-09 06:24:53
【问题描述】:

我是storm和intellij idea的初学者,当我将storm-starter(apache-storm-0.9.5.zip)导入intellij idea(14 CE OS)时,一切正常,但是当我运行“ExclamationTopology " ,出现如下问题:

Exception in thread "main" java.lang.NoClassDefFoundError: backtype/storm/topology/IRichSpout
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:122)
Caused by: java.lang.ClassNotFoundException: backtype.storm.topology.IRichSpout
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 3 more

Process finished with exit code 1

这个接口来自storm-core,但是这个maven管理的jar在我的库中 为什么会发生这种情况..?

【问题讨论】:

    标签: maven intellij-idea apache-storm


    【解决方案1】:

    Strom 已经在服务器端有所需的 jar。因此,如果查看 pom.xml,您会发现类似于: https://github.com/apache/storm/blob/master/examples/storm-starter/pom.xml

    <dependency>
      <groupId>org.apache.storm</groupId>
      <artifactId>storm-core</artifactId>
      <version>${project.version}</version>
      <!-- keep storm out of the jar-with-dependencies -->
      <scope>provided</scope>
    </dependency>
    

    提供的范围仅在编译和测试类路径上可用。因此,您的项目可以编译,但随后在运行时失败并出现异常:java.lang.NoClassDefFoundError。

    请在 pom.xml 中注释范围行并更新 maven 依赖项以解决此问题。它应该看起来像:

    <dependency>
      <groupId>org.apache.storm</groupId>
      <artifactId>storm-core</artifactId>
      <version>${project.version}</version>
      <!-- keep storm out of the jar-with-dependencies -->
      <!-- <scope>provided</scope> -->
    </dependency>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-04
      • 2021-02-18
      • 1970-01-01
      相关资源
      最近更新 更多