标签: classnotfoundexception

为什么不能加载内部类?ClassNotFoundException的

为什么以下代码会导致ClassNotFoundException

public class App02 {

    public static class A {
    }

    public static void main(String[] args) throws ClassNotFoundException {

        try {
            System.out.println("A.class.getCanonicalName() = " + A.class.getCanonicalName());
            Class c = Class.forName("tests.App02.A"); //error on this line
            System.out.println(c.getName());
        }

        catch(Exception e) {
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

A.class.getCanonicalName() = tests.App02.A
java.lang.ClassNotFoundException: tests.App02.A
    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:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:190)
    at tests.App02.main(App02.java:15)
Run Code Online (Sandbox Code Playgroud)

java classloader classnotfoundexception

10
推荐指数
2
解决办法
5023
查看次数

找不到 ProviderSettings 类,它显示无法解析符号 ProviderSettings

我是 Spring Boot 空间的新手。我正在按照教程学习创建 OAuth 身份验证服务器。

配置AuthorizationServerConfig.java讲师时,从包“org.springframework.security.oauth2.server.authrization.config”导入“ProviderSettings”类

但是,我没有从该特定包中获得该类。

我缺少任何依赖项吗?或者该课程现在不可用?

参考文献 1:错误点。无法解析符号 ProviderSettings

@Bean
    public ProviderSettings providerSettings(){
        return ProviderSettings.builder()
                .issuer("http://auth-server:9000")
                .build();
    }
Run Code Online (Sandbox Code Playgroud)

参考2:pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.3</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>np.com.oskarshrestha</groupId>
    <artifactId>Oauth-authorization-server</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>Oauth-authorization-server</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency> …
Run Code Online (Sandbox Code Playgroud)

authentication spring spring-security classnotfoundexception server

10
推荐指数
1
解决办法
3196
查看次数

java ClassNotFoundException设置Quartz时的LoggerFactory

所以我使用的是Quartz jar:quartz-all-2.0.1.jar.从自述文件中可以看出,这个罐子应该可以设置所有东西.但是,当我尝试使用创建SchedulerFactory时

SchedulerFactory sf = new StdSchedulerFactory();
Run Code Online (Sandbox Code Playgroud)

我明白了:

Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
    at org.quartz.impl.StdSchedulerFactory.<init>(StdSchedulerFactory.java:268)
    at WebScraper.Main.main(Main.java:19)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Run Code Online (Sandbox Code Playgroud)

我也很困惑,因为在我尝试运行程序之前Eclipse没有显示任何错误.谢谢你的帮助.

java classpath quartz-scheduler classnotfoundexception

9
推荐指数
1
解决办法
2万
查看次数

OSGi:如何确保类路径一致性?

根据OSGi文档,OSGi旨在帮助防止ClassPath问题.

例如,从"OSGi in action":

启动应用程序时ClassNotFoundExceptions,因为类路径不正确.在允许代码执行之前,OSGi可以通过确保满足代码依赖性来提供帮助.

但是,因为我们已经将我们的java应用程序切换到OSGi,所以我看到了比以往更多的ClassNotFoundExceptions,尤其是NoClassDefFoundErrors.OSGI类加载器不再能够找到以前加载正常的类,更糟糕的是:在运行时遇到错误,这意味着除非通过手动测试应用程序的每个角落,否则无法轻松检查它.

例如,我们的应用程序在OSGi下运行愉快,但我们收到了beta测试人员的报告,他们无法再将文档导出为PDF.实际上,当我查看它时,我发现此功能导致异常被记录:

java.lang.NoClassDefFoundError: org/w3c/dom/Node
Run Code Online (Sandbox Code Playgroud)

那么,OSGi实际上是否创造了比它解决的更多的类路径问题?

更重要的是:我在错误报告中阅读它们之前,如何测试我的类路径是否一致,所有必需的Import-Package语句等?

osgi noclassdeffounderror classnotfoundexception

9
推荐指数
1
解决办法
1万
查看次数

在除Android L之外的所有Android版本上获取TypeNotPresentException,然后是ClassNotFoundException或NoClassDefFoundError

我的一个应用程序中的bug变得非常有趣.我的应用程序在Android L上工作正常,但是一旦我尝试在其他Android版本上运行它,我在尝试使用Retrofit调用Web服务时得到ClassNotFoundException或NoClassDefFoundError,即使所有这些类都存在且在我的工作正常android L设备.我不知道现在发生了什么,app正在其他版本中运行,只要我不进行网络请求,但是一旦我去网络请求,它就会给我ClassNotFoundException或NoClassDefFoundError.我也在使用Android Studio,所以如果有人早些时候遇到过这种问题,那么请帮忙,我非常需要.

注意:应用程序在Android L上工作正常,而且我得到ClassNotFoundException或NoClassDefFoundError的类不是特定于版本的,即它不像是在Android L左右支持它们.我得到这些错误的所有类都是一般的自定义/模型类,并且没有与更高版本的Android版本或其他东西的链接.

这些是我的Logcat错误

这是登录api时的例外

java.lang.TypeNotPresentException: Type com.codebrew.embazaar.pojo.UserLoginPojo not present
            at libcore.reflect.ParameterizedTypeImpl.getRawType(ParameterizedTypeImpl.java:63)
            at libcore.reflect.ParameterizedTypeImpl.getResolvedType(ParameterizedTypeImpl.java:72)
            at libcore.reflect.ListOfTypes.resolveTypes(ListOfTypes.java:70)
            at libcore.reflect.ListOfTypes.getResolvedTypes(ListOfTypes.java:55)
            at libcore.reflect.ParameterizedTypeImpl.getResolvedType(ParameterizedTypeImpl.java:71)
            at libcore.reflect.ListOfTypes.resolveTypes(ListOfTypes.java:70)
            at libcore.reflect.ListOfTypes.getResolvedTypes(ListOfTypes.java:55)
            at libcore.reflect.Types.getTypeArray(Types.java:50)
            at java.lang.reflect.Method.getGenericParameterTypes(Method.java:216)
            at retrofit.RestMethodInfo.parseResponseType(RestMethodInfo.java:250)
            at retrofit.RestMethodInfo.<init>(RestMethodInfo.java:97)
            at retrofit.RestAdapter.getMethodInfo(RestAdapter.java:213)
            at retrofit.RestAdapter$RestHandler.invoke(RestAdapter.java:236)
            at $Proxy0.userLogin(Native Method)
            at com.codebrew.embazaar.MainActivity.loginUser(MainActivity.java:529)
            at com.codebrew.embazaar.MainActivity.onClick(MainActivity.java:324)
            at android.view.View.performClick(View.java:4748)
            at android.view.View$PerformClick.run(View.java:19535)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:146)
            at android.app.ActivityThread.main(ActivityThread.java:5679)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.ClassNotFoundException: com.codebrew.embazaar.pojo.UserLoginPojo
            at java.lang.Class.classForName(Native Method) …
Run Code Online (Sandbox Code Playgroud)

android noclassdeffounderror classnotfoundexception retrofit android-5.0-lollipop

9
推荐指数
1
解决办法
2079
查看次数

AWS Lambda:类java.lang.ClassNotFoundException

我收到此消息,我不知道如何解决它.在网上搜索并尝试实施他们的建议,但没有运气. 在此输入图像描述

我基本上按照此链接中指定的说明进行操作 - http://docs.aws.amazon.com/toolkit-for-eclipse/v1/user-guide/lambda-tutorial.html

但是,我没有使用Eclipse中嵌入的AWS管理控制台上传项目,而是尝试创建项目的zip并将其上传到AWS Web控制台.

以下是我的项目结构 - 在此输入图像描述

这就对了!!我试图在这里做什么都没有.它只是Lambda中的HelloWorld示例.

现在,这就是我创建zip文件的方式,这在Eclipse中非常简单 - 在此输入图像描述

创建zip后,我将其上传到AWS Web控制台的代码选项卡下 - 在此输入图像描述

配置选项卡看起来像这样 - 在此输入图像描述

现在,当我单击"测试"按钮时,它无法找到example.Hello类.

为什么Lambda函数难以找到这个类呢?任何人都可以建议这个执行中可能出错的地方吗?

还附上日志声明,以防它有帮助 -

在此输入图像描述

deployment amazon-web-services classnotfoundexception aws-lambda

9
推荐指数
2
解决办法
4276
查看次数

Cassandra + SpringBoot,java.lang.ClassNotFoundException:com.datastax.oss.protocol.internal.SegmentCodec

我正在尝试使用 Cassandra DB 创建一个 Spring 应用程序。但是当我尝试运行该应用程序时出现以下错误。

Caused by: java.lang.NoClassDefFoundError: com/datastax/oss/protocol/internal/SegmentCodec
    ... 103 common frames omitted
Caused by: java.lang.ClassNotFoundException: com.datastax.oss.protocol.internal.SegmentCodec
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_152-release]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_152-release]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_152-release]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_152-release]
    ... 103 common frames omitted
Run Code Online (Sandbox Code Playgroud)

Spring Boot版本:2.3.4.RELEASE

Cassandra(spring-boot-starter-data-cassandra)版本:3.0.4

application.yml 文件:

spring:

  data:
    cassandra:
      keyspaceName: my_keyspace
      contactPoints: localhost
      port: 9042
      schema-action: CREATE_IF_NOT_EXISTS
      local-datacenter: datacenter1
Run Code Online (Sandbox Code Playgroud)

CassandraConfig.java

@Configuration
@EnableCassandraRepositories(basePackages = "com.myproject.repository")
public class CassandraConfig extends AbstractCassandraConfiguration {

    @Value("${spring.data.cassandra.keyspaceName}")
    private String keyspace;

    @Value("${spring.data.cassandra.contactPoints}")
    private String contactPoints;

    @Value("${spring.data.cassandra.port}")
    private int port;

    @Value("${spring.data.cassandra.local-datacenter}")
    private String …
Run Code Online (Sandbox Code Playgroud)

cassandra classnotfoundexception spring-boot spring-data-cassandra cassandra-3.0

9
推荐指数
1
解决办法
2968
查看次数

readobject方法抛出ClassNotFoundException

我正在尝试使用Java并希望使用Java的客户端/服务器进行测试,以使客户端将自定义类(Message)的简单对象发送到服务器.问题是我一直在服务器端获得ClassNotFoundException.

我认为其余的代码似乎没问题,因为像String这样的其他对象可以毫无问题地通过.

我在客户端和服务器的不同位置有两个不同的netbeans项目.

他们每个人都有自己的Message类副本.消息类实现Serializable.

在客户端,我尝试发送一个Message对象.

在服务器端,在调用readObject方法时,它似乎从客户端的包中找到Message类而不是它自己的包.printStackTrace显示:服务器端的"java.lang.ClassNotFoundException:client.Message"

我甚至没有尝试过投射或存储收到的对象.有什么东西我遗漏了吗?

java client classnotfoundexception

8
推荐指数
1
解决办法
1万
查看次数

ClassNotFoundException oracle.jdbc.driver.OracleDriver仅在servlet中使用Eclipse

以下代码在线上失败:

Class.forName("oracle.jdbc.driver.OracleDriver");
Run Code Online (Sandbox Code Playgroud)

有错误:

java.lang.ClassNotFoundException:oracle.jdbc.driver.OracleDriver

两个println印刷品:

Wed_Jun_22_11:18:51_PDT_2005
false
Run Code Online (Sandbox Code Playgroud)

这让我觉得这个类存在并且可以找到.此完全相同的类也适用于非servlet应用程序.

我已多次重启所有内容并多次重新生成应用程序/ servlet.所有值都经过硬编码,使其简单易行.

private static Connection getDBConnection() throws Exception {
    System.out.println(oracle.jdbc.driver.OracleDriver.BUILD_DATE);
    System.out.println(Class.class.desiredAssertionStatus());
    //load the driver
    Class.forName("oracle.jdbc.driver.OracleDriver");

    return DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "SYSTEM", "pass");
}
Run Code Online (Sandbox Code Playgroud)

失败的完整servlet:

package servletClass_3;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class OneMoreBookStore
 */
@WebServlet("/OneMoreBookStore")
public class OneMoreBookStore extends HttpServlet {

    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    private static Connection getDBConnection() throws …
Run Code Online (Sandbox Code Playgroud)

java eclipse servlets classnotfoundexception

8
推荐指数
2
解决办法
9万
查看次数

找不到rt.jar的类

在JBOSS EAP 6(AS 7)中:

我正在调用Spring的WebServiceTemplate.marshalSendAndRecieve,这反过来又找不到在rt.jar中出现的类

Caused by: java.lang.ClassNotFoundException: com.sun.org.apache.xerces.internal.dom.DocumentImpl
Run Code Online (Sandbox Code Playgroud)

我不明白这是怎么发生的?当然,rt.jar中的所有内容都会在启动时加载?

有任何想法吗?

谢谢,

肯尼

java classnotfoundexception jboss7.x

8
推荐指数
1
解决办法
7089
查看次数