programing

java.lang을 가져옵니다.ClassNotFoundException: org.apache.commons.logging.LogFactory 예외

prostudy 2022. 5. 27. 21:18
반응형

java.lang을 가져옵니다.ClassNotFoundException: org.apache.commons.logging.LogFactory 예외

나는 봄의 간단한 의존성 주입 프로그램을 실행하고 있으며 이 예외를 받고 있습니다.common-logging 1.1.1.jar 및 spring.jar 파일은 이미 포함했습니다.도와주실 수 있나요?

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:119)
    at org.springframework.context.support.AbstractXmlApplicationContext.<init>(AbstractXmlApplicationContext.java:55)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:77)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:56)
    at com.client.StoryReader.main(StoryReader.java:15)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    ... 6 more

의존관계 관리에 maven을 사용하는 경우 pom.xml에 다음 행을 추가합니다.

<dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
</dependency>

저도 같은 문제에 직면해 있습니다.수정하려면 아래 URL에서 jar 파일을 다운로드해 주세요.

http://commons.apache.org/logging/download_logging.cgi

lib 폴더에 복사하면 문제가 해결됩니다.

commons-logging-1.1.2.jar를 다운로드하고 이 파일을 libs에 복사하기만 하면 됩니다.

드디어 성공했군

commons-1.1.1.jar 또는 jcl-over-slf4j-1.7.6.jar al

maven을 사용하는 경우 아래 코드를 사용하십시오.

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>${slf4j.version}</version>
</dependency>

저도 같은 문제가 있어서 그냥 그 문제만 더해서 해결이 됐어요.commons-logging.jar클래스 경로로 이동합니다.

commons-logging.jar 또는 commons-logging-1.1.jar를 추가하면 이 문제가 해결됩니다.

컴파일 할 범위를 설정하는 것으로 해결했습니다.

<dependency>
  <groupId>commons-logging</groupId>
  <artifactId>commons-logging</artifactId>
  <version>1.2</version>
  <scope>compile</scope>
</dependency>

이미 common-logging 1.1.1.jar와...

JAR는? ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★commons-logging-1.1.1.jar(「」를 해 주세요)-★★★★★★★★★★★★★★★★★★★★★★★★★」, 디렉토리명이.

NoClassDefFoundError항상은 클래스를 찾을 수 없음을 의미하기 때문에 클래스 경로가 올바르지 않을 수 있습니다.

오래된 라이브러리 jar를 제거하려면 앱의 대상/배포 디렉토리를 완전히 청소해 보십시오.새로 빌드하여 commons-logging.jar가 실제로 올바른 lib 폴더에 배치되어 있는지 확인합니다.애플리케이션의 라이브러리를 빌드할 때는 포함되지 않을 수 있습니다.

commons-logging.jar를 추가하여 문제를 해결했습니다.

Imp 파일은 ,

antlr-runtime-3.0.1

org.springframework.aop-3.1.0.M2

org.springframework.asm-3.1.0.M2

org.springframework.aspects-3.1.0.M2

org.springframework.beans-3.1.0.M2

org.springframework.context.support-3.1.0.M2

org.springframework.context-3.1.0.M2

org.springframework.core-3.1.0.M2

org.springframework.expression-3.1.0.M2

commons-logging-1.1.1

다음 두 가지 옵션(최소):

  1. 로컬 폴더에 복사하여 공유 로그 항아리를 파일에 추가합니다.

주의: jar를 링크하면 서버에 문제가 발생할 수 있습니다.또, 빌드 패스에 jar가 추가되어도, 서버의 기동시에 문제가 해결되지 않는 경우도 있습니다.

그러니 항아리를 외부 폴더를 가리키지 마세요.

아니면...

  1. 프로젝트 간에 병을 공유하기 때문에 로컬로 추가하고 싶지 않다면...

TC 서버 인스턴스를 사용하는 경우 서버 인스턴스 실행 구성에 외부 자리로 jar를 추가해야 합니다.

실행, 실행 구성..., {your tc server instance}, 다음으로 Class Path 탭으로 이동합니다.

그런 다음 공용 로그 병을 추가합니다.

나도 너와 같은 문제를 겪었어.마침내 나는 클래스를 소유하고 있는 아파치의 버전을 확인했다.버전 1.0.4에 클래스가 있습니다.

1.1.X 또는 1.2.X 대신 버전 1.0.4를 사용해 보십시오.

나의 의존관계:

    <dependencies>
        <dependency>
            <groupId>org.jolokia</groupId>
            <artifactId>jolokia-core</artifactId>
            <version>1.3.5</version>
        </dependency>
        <dependency>
            <groupId>org.jolokia</groupId>
            <artifactId>jolokia-client-java</artifactId>
            <version>1.3.5</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.0.4</version>
        </dependency>
    </dependencies>

마이 자바 코드

J4pClient j4pClient = new J4pClient("http://localhost:8080/jolokia");
J4pReadRequest req = new J4pReadRequest("java.lang:type=Memory","HeapMemoryUsage");
req.setPath("used");
J4pReadResponse resp = j4pClient.execute(req);
System.out.println(resp.getValue());

마이 결과:

130489168

또한 maven 종속성이 잘 Import되었는지 다시 한 번 확인하십시오.

http://commons.apache.org/logging/download_logging.cgi

이 URL을 사용하여 jar 파일을 다운로드하고 클래스 경로에 포함하면 문제가 해결됩니다.

commons-logging.jar가 libs와 classpath에 추가되었는지 확인합니다.나도 같은 문제가 있었고 그건 이것 때문이었어

일반적으로 클래스 패스를 변수에 할당하고 검증합니다.java를 기동하기 전에 클래스 패스를 검증하는 스타트업 스크립트에 포함된 작은 루비 스크립트를 작성했습니다.JVM을 시작하기 전에 클래스 경로를 검증함으로써 이러한 유형의 문제를 해결하는 데 많은 시간을 절약할 수 있었습니다.

안녕, 나는 tutorialpoint.com의 튜토리얼을 팔로우하고 있었어.2단계 - Apache Common Logging API 설치를 완료한 후 추가: 이 단계에서 다운로드한 파일에서 외부 jar 라이브러리를 프로젝트로 가져와야 합니다.파일명은 "commons-logging-1.1.1" 이었습니다.

기능을 하고 있다면 Android에서 실행 중인 것 .java.beans안드로이드안드로이드

  1. Android-java-air-bridge.jar 다운로드(현재 다운로드 버튼은 페이지 하단 또는 여기에 직접 링크되어 있습니다)
  2. 다운로드한 jar를 [APPROTO]/app/libs 디렉토리에 복사합니다(또는 다른 방법으로 jar를 링크합니다).
  3. 변경합니다.import ***에어 브릿지에 대한 설명입니다.import javadz.beanutils.BeanUtilsimport org.apache.commons.beanutils.BeanUtils;
  4. 프로젝트 청소 및 재구축

소스 1, 소스 2

한 SO 할 때 SO 이하지 못한 점 .NoClassDefFoundError: Failed resolution of: beanUtils러입니니다다

항아리가 있는 동안에도 같은 오류가 발생했습니다.아무런 해결책도 작동하지 않았다.파일 시스템(.m2 디렉토리에서)에서 jar를 삭제하고 maven 프로젝트를 청소하는 것이 효과가 있었습니다.

이클립스 IDE에서도 같은 문제가 발생하고 있습니다.해결방법은 [My project]에서 [우클릭]> [ Properties ]입니다.

여기에 이미지 설명 입력

Maven을 클릭하고 Active Maven 프로젝트에서 jar를 씁니다.

여기에 이미지 설명 입력

마지막으로 적용 후 닫기

내 경우, 일식 중에 Tomcat 앱을 테스트하다가 이 오류가 발생했습니다.가 확인을 요..classpath하다

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
        <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
    </attributes>
</classpathentry>

'''org.eclipse.jst.component.dependency행방불명됐었다.

그 주제는 매우 시대에 뒤떨어져 있다.하지만 그것은 여전히 우리의 시대에 맞출 수 있다.

commons-logging 「」라고도 .jcl는 권장되지 않는 라이브러리입니다.마지막 버전은 2014년에 공개되었습니다.

프로젝트에 직접 종속성을 추가하는 것은 피해야 합니다.대부분의 답변과 받아들여진 답변은 더 이상 실제가 아니라고 생각합니다.

프로젝트에서 다음과 같은 새로운 대안을 사용할 수 있는 바람직한 방법slf4j ★★★★★★★★★★★★★★★★★」log4j2 것, 역할을 하는 것.jcl이유와 동기는 이 문제의 범위가 아닌 또 다른 큰 주제이다.

이 'D'를 사용하고 log4j2에러가 발생했을 경우는, 의존 관계를 추가합니다.

<dependency>
  <groupId>org.apache.logging.log4j</groupId>
  <artifactId>log4j-jcl</artifactId>
  <version>2.y.z</version>
</dependency>

찮 if면면 ifslf4j (의 코멘트) (앞의 코멘트/마찬가지로 제공)

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>${slf4j.version}</version>
</dependency>

Spring을 사용하는 경우 대부분의 경우 종속성 트리에 다음이 있습니다.

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-jcl</artifactId>
</dependency>

그리고 이 문제도 해결이 됩니다.

특정 버전을 일부러 건너뛰는 예에서는 빠르게 권장되지 않습니다. Offitial Maven 저장소를 참조하십시오.

하지 않는 .version "Dependency" ()를 사용하는 것을 합니다.BOM파일입니다. 스프링이 그 예입니다.

항아리가 제대로 수입되었는지 확인합니다.빌드 경로를 사용하여 Import했습니다.그러나 WAR/lib 폴더의 jar를 인식하지 못했습니다.나중에 같은 항아리를 war/lib 폴더에 복사했습니다.지금은 잘 되고 있어요.프로젝트를 갱신/청소할 수 있습니다.

. 서는 주로 두 가지 문제
3.. 즉, 작, 작, 작, 일, bellow, bellow, bellow, bellow, bellow, bellow, bellow, bellow, bellow, bellow, bellow, bellow, bellow, bellow, bellow, 일, 이다.6 가 없습니다.

2. 먼저 데이터베이스 연결을 확인합니다.데이터베이스가 정상적으로 동작하는 경우 프로그램 또는 jar 파일에서 오류가 발생한 것입니다.

IDE에서도 동작하지 않는 경우는, 이 2개의 문제를 확인해 주세요.저는 netbeanside 6.9 버전을 사용하고 있습니다.여기에서는, 정상적으로 동작하고 있습니다.예외 없이 수업에서 오류가 발생하지 않습니다.

이게 더 도움이 됐으면 좋겠다

이 의존관계 org.develency commons-exec 1.3을 추가해 보십시오.

다른 모든 것이 실패했을 경우 저와 마찬가지로 commons-logging-x.y.z.jar를 Tomcat lib 디렉토리에 저장해 보십시오.문제를 해결했어요!그나저나, 나는 Tomcat 6을 사용하고 있어.

해결책은 common-logging.x.x jar 파일을 추가하는 것입니다.

언급URL : https://stackoverflow.com/questions/1551697/getting-java-lang-classnotfoundexception-org-apache-commons-logging-logfactory

반응형