gpt4 book ai didi

java.lang.NoClassDefFoundError : com/sun/tools/corba/se/idl/InvalidArgument

转载 作者:行者123 更新时间:2023-12-01 16:56:35 25 4
gpt4 key购买 nike

我已经为 Apache Storm 拓扑创建了一个 fat jar,其中包含所有依赖项。我使用了 mvn clean dependency:copy-dependency package 命令来创建这个 jar。当我将此 jar 提交到 Storm 时,出现以下错误:

Caused by: java.lang.ClassNotFoundException: com.sun.tools.corba.se.idl.InvalidArgument
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

我想知道如何解决这个错误?哪个 jar 文件包含这个类?

编辑:添加 pom.xml

的依赖项部分
<dependencies>
<dependency>
<groupId>com.ads.iot</groupId>
<artifactId>commons-for-iot</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-kafka</artifactId>
<version>0.10.0-beta1</version>
</dependency>
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-hbase</artifactId>
<version>0.10.0-beta1</version>
</dependency>
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-core</artifactId>
<version>0.10.0-beta1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.7.0_21</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>
</dependencies>

编辑 2:pom.xml 的插件部分

<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<executions>
<execution>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>java</executable>
<includeProjectDependencies>true</includeProjectDependencies>
<includePluginDependencies>false</includePluginDependencies>
<classpathScope>compile</classpathScope>
<mainClass>${main.class}</mainClass>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.ats.ift.KafkaStormTopologyBuilder</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>

最佳答案

您要部署到哪个版本的 Java?浏览您的依赖项,我在JDK1.7的tools.jar中找到了com/sun/tools/corba/se/idl/InvalidArgument.class。但在JDK1.8中没有这个库。事实上,1.8 的更改之一是从 com.sun 包中删除旧的非公共(public) API。

恐怕这里需要升级您的代码(到当前的公共(public) API)。

关于java.lang.NoClassDefFoundError : com/sun/tools/corba/se/idl/InvalidArgument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31920921/

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