2012-08-16 2 views
2

Fedora 17에서 Eclipse Juno를 사용하여 Java 응용 프로그램을 작성했습니다. JRE 1.7이 설치되었지만 Java 빌드 경로가 1.6으로 변경되었습니다. 모든 것이 잘 작동합니다. 그런 다음 문제없이 Windows 7 가상 시스템에서 실행되는 .jar 파일을 빌드 할 수 있습니다. 그러나 학교 컴퓨터 (Windows 7 java version "1.6.0_18" Java(TM) SE Runtime Environment (build 1.6.0_18-b07) Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode, sharing))에서 실행하려고 시도하면Java 코드 호환성 문제 (내 바이너리도 작동하지 않습니다)

과 같이 예외가 발생합니다 : java.lang.IllegalArgumentException: cannot add to layout: constraint must be a string. 이것은 분명히 표준 Swing 구성 요소라고 생각하는 CardLayout과 관련이 있습니다.

관련이있을 수 있다면 miglayout 라이브러리와 sqlite-jdbc driver을 사용하고 있습니다.

이 도움을 주셔서 감사합니다.

+0

JDK 6으로 컴파일 해보십시오. – Thilo

+0

@Thilo는 JDK 6이 아니고 컴파일러에서'--target'-flag를 사용합니다. –

+0

아니요, JDK 6으로 컴파일을 시도하십시오. --target --source가 부족합니다 (바이트 코드 및 소스 코드 수준 만 지정). 적절한 런타임 라이브러리가 필요합니다. 맞기가 어렵습니다. JDK 6으로 컴파일하기에 가장 안전합니다. – Thilo

답변

0

이 문제점을 발견했습니다.

cardLayoutPanel.add(container, identifier); 

없이 :

cardLayoutPanel는 JPanel의 cardLayout이 식별자가

cardLayoutPanel.add(container); 
cardLayout.addLayoutComponent(container, identifier); 

가 실제로해야하기 때문에 자바 1.6이 정말 작동하지 않습니다 밝혀 문자열입니다 분명하다 두 번째 줄 Java 1.7이 어떤 이유로 불평하지 않습니다. 기묘한.