2014-06-15 3 views
1

scan.useDelimiter("\n"); 위로 마우스를 올려 놓으면 오류가 발생합니다. "java.util.regex.Pattern 유형을 확인할 수 없습니다. 필수 .class 파일에서 간접 참조 됨 "Eclipse에서 jre8을 사용하고 있어도 java.util.regex.Pattern을 사용할 수 없습니다.

Java 및 JDK를 다시 설치하려고했습니다. JRE 시스템 라이브러리 jre8은 프로젝트의 Java 빌드 경로에서 참조됩니다. 작업 공간의 기본 jre입니다. 내가 말한 rt.jar 파일에는 필요한 모든 파일이 들어 있어야합니다.

은 내가 " Exception in thread "main" java.lang.Error: Unresolved compilation problem: at pack.Main.main(Main.java:15)는"

라인 (15)은 오류가있는 코드는하지의 주요 방법하지만, 메인 클래스에 public static void main(String[] args) {을 말한다 얻을 실행에 충돌합니다.

이 코드의 목표는 사용자가 입력 할 때까지 모든 내용을 읽는 것입니다. 기본적으로 scan.next()가 공백에서 멈추기 때문에 구분 기호 부분이 있습니다. 전체 줄을 원합니다.

예, 프로젝트를 정리했습니다.

이클립스 버전 : 인디고 서비스 릴리스 2 빌드 ID : 20120216-1857

일부 코드 :

import java.util.Scanner; 
import java.util.regex.*; 

private static void someMethod(){ 
    Scanner scan = new Scanner(System.in); 
    scan.useDelimiter("\n"); 
    String pass = scan.next(); 
} 

여기 내 다음 단계는 무엇입니까?

EDIT : String에서 .contrains (String)을 사용할 때 유사한 오류가 발생합니다. 유형 java.lang.CharSequence를 확인할 수 없습니다. 필수 .class 파일에서 간접적으로 참조됩니다.

String test = "bla_bla"; 
if(test.contains("a_")) 
+2

더 많은 코드를 게시 할 수 있습니까? 또는 문제를 일으키는 최소한의 실행 예제를 제공하려고합니까? 코드 라인을 가리킬 때 작성 했으므로 디버거로 디버깅하는 동안 문제가 발생합니다. –

+0

당신이 요청한 정보를 추가했습니다 – GWigWam

+0

당신은'java.util.Scanner'도 가져오고 있습니까? (나는 수입품에서 그것을 보지 않는다, 그래서 나는 다만 확신하고 싶다) –

답변

4

JDK 1.8.0_20 및 Eclipse 4.4.0을 사용하여 동일한 문제가있었습니다. Eclipse는 "java.util.regex.Pattern 가져 오기를 해결할 수 없습니다."이라고 계속 말했습니다. 이것은 JDK 7 및 6에서도 발생하지 않았습니다. JDK 8의 패키지에는 제가 잘못 생각한 것 같습니다. javax.swing.JTable (JDK 8 포함)과 동일한 문제가 있었지만 그렇지 않습니다. 7 또는 6이므로 JDK 8이어야합니다.

문제를 해결하기 위해 작업 패턴 클래스를 포함하는 Util 패키지의 .jar 파일을 찾으러갔습니다. http://www.java2s.com/Code/Jar/r/Downloadregexjar.htm에서 다운로드 한 다음 패턴을 빌드 경로에 통합하면 Pattern이 다시 한 번 작동합니다. 같은 해결책이 Swing 패키지의 문제점도 해결했습니다.

.jar 파일에 이미 JDK 1.8.0_20에 포함 된 많은 중복 패키지가 포함되어 있기 때문에 이상적인 해결책은 아니지만 JDK 7 또는 6으로 다운 그레이드하는 것 외에도 나올 수있는 유일한 해결책이었습니다.

앞으로 JDK 8의 향후 릴리스에서 곧이 문제가 해결 될 것으로 기대합니다.

희망이 있습니다.

+0

나는 이것이 Oracle Java에 대한 문제다는 것을 의심한다. Eclipse 문제가 될 가능성이 훨씬 큽니다. –

+0

답장을 보내 주셔서 감사합니다.이 문제가 발생했을 때 꽤 오랜 시간이었습니다. 문제 해결 방법을 잊어 버렸습니다. – GWigWam

+0

@StephenC 당신은 옳을 수도 있습니다. 나는 이클립스 케플러 (Eclipse Kepler)를 사용하여이 문제를 해결할 수 있는지 보지 못했다. 내가 수집 한 것으로부터, 공식적으로 Java 8을 지원하는 이클립스의 다른 유일한 버전이다. Eclipse Luna에 문제가있을 수있다. 직장에서 시도해보고 Eclipse를 Kepler로 다운 그레이드하면 작동하는지 확인해야합니다. 고마워. –