getFontList의 Eclipse NullPointerException


1

Eclipse가 더 이상 시작되지 않습니다. 다음 항목이있는 로그 파일을 가리키는 대화 상자가 나타납니다.

!SESSION 2009-12-08 08:49:16.263 -----------------------------------------------
eclipse.buildId=M20090917-0800
java.version=1.6.0_17
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.php.product -keyring /Users/cheezy/.eclipse_keyring -showlocation
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.php.product -keyring /Users/cheezy/.eclipse_keyring -showlocation

!ENTRY org.eclipse.osgi 4 0 2009-12-08 08:49:19.993
!MESSAGE Application error
!STACK 1
java.lang.NullPointerException
    at org.eclipse.swt.graphics.Device.getFontList(Device.java:369)
    at org.eclipse.jface.resource.FontRegistry.filterData(FontRegistry.java:465)
    at org.eclipse.jface.resource.FontRegistry.createFont(FontRegistry.java:499)
    at org.eclipse.jface.resource.FontRegistry.defaultFontRecord(FontRegistry.java:563)
    at org.eclipse.jface.resource.FontRegistry.getFontRecord(FontRegistry.java:673)
    at org.eclipse.jface.resource.FontRegistry.get(FontRegistry.java:613)
    at org.eclipse.jface.resource.JFaceResources.getDialogFont(JFaceResources.java:273)
    at org.eclipse.jface.dialogs.Dialog.initializeDialogUnits(Dialog.java:925)
    at org.eclipse.jface.dialogs.TitleAreaDialog.createContents(TitleAreaDialog.java:131)
    at org.eclipse.jface.window.Window.create(Window.java:431)
    at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1089)
    at org.eclipse.jface.window.Window.open(Window.java:790)
    at org.eclipse.ui.internal.ide.ChooseWorkspaceDialog.prompt(ChooseWorkspaceDialog.java:91)
    at org.eclipse.ui.internal.ide.application.IDEApplication.promptForWorkspace(IDEApplication.java:275)
    at org.eclipse.ui.internal.ide.application.IDEApplication.checkInstanceLocation(IDEApplication.java:223)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:103)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

중복 서체를 비활성화하여 서체 관리자에서 서체 목록을 정리했습니다. 또한 Mac OS X 10.6.2로 업그레이드했습니다.

답변:


1

이 문제는 중복 글꼴의 "정리"또는 OS X 10.6.2 로의 업그레이드로 인해 누락 된 글꼴로 인해 발생합니다.

Eclipse 실행 파일 옆 의 org.eclipse.core.runtime디렉토리에서 디렉토리를 제거하여 수정했습니다 configuration. Aptana 포럼의 게시물 은 제거 .fonts.cache-1하고 .fontconfig홈 디렉토리의 디렉토리를 제안 하지만 처음 시도했을 때 작동하지 않았습니다. Eclipse를 다시 시작할 때 Eclipse 구성 디렉토리가 다시 작성되지만 후자는 그렇지 않습니다.

어제 비활성화 한 글꼴은 OS 업그레이드로 인해 오늘 (폰트 북에서) 다시 활성화되었습니다.


1

필자의 경우 중복 된 글꼴로 인해 문제가 발생했습니다. 서체 관리자 도구를 사용하면 쉽게 고칠 수있었습니다.

이 문제를 해결하려면 다음을 수행하십시오.

  1. 서체 관리자 도구를여십시오 (응용 프로그램> 서체 관리자)
  2. 메뉴에서 편집> 중복 글꼴 선택을 클릭하십시오.
  3. 복제 된 항목이 선택됩니다
  4. 메뉴에서 편집> 중복 해결을 클릭하십시오.
  5. 이클립스를 다시 시작

1

이 절차는 나를 위해 속임수를합니다.

  1. 실행중인 모든 응용 프로그램을 닫습니다
  2. 응용 프로그램> 유틸리티> 터미널에서 터미널 시작
  3. 다음을 실행하고 관리자 비밀번호를 입력하십시오.

    sudo atsutil databases -remove
    
  4. atsutil server -shutdown 글꼴 등록 시스템을 종료하려면
  5. atsutil server -ping 재시작하기 위해
  6. 로그 아웃 한 후 다시 로그인

SL 10.6.4에서 Aptana Studio 2.0.5.1278522500을 사용하고 있습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.