2011-11-02 3 views
2

우리는 작업 헤드리스 PDE는 우리의 응용 프로그램 구축 얻기 위해 노력하고 실패하지만 컴파일은 다음과 같은 메시지와 함께 빌드하는 동안 실패헤드리스 PDE 자바 빌드 7/이클립스 3.7.1

ERROR in C:\...\TimerManager.java 
      [javac] private final Map<String, ScheduledFuture<?>> activeTimer = new HashMap<>(); 
      [javac]                 ^^^^^^^ 
      [javac] '<>' operator is not allowed for source level below 1.7 

다음 설정은 만든 :

  • build.properties 파일에서 다음과 같은 속성이 설정됩니다.

    CDC-1.1/Foundation-1.1 = ${java.home}/lib/rt.jar 
        JavaSE-1.7 = ${java.home}/lib/rt.jar 
        path.jre = C:/Programme/Java/jre7 
        javacSource=1.7 
        javacTarget=1.7 
    
  • 내장 플러그인의 최소 실행 환경은 JavaSE-1.7

  • 건물에 사용 된 작업 공간에서 사용하는 자바 7 성공적이다.

우리는 Eclipse의 응용 프로그램을 성공적으로 실행할 수 있습니다.

중요한 점은 PDE build.xml${baseLocation}과 같은 대상 플랫폼 (Eclipse 3.7.0 rcp_sdk에서 제공되는 일부 플러그인 및 기능 포함)을 사용한다는 것입니다.

Eclipse 3.7.1 설치를 ${baseLocation}으로 사용하면 빌드가 성공하지만 생산적인 용도로는 응용 프로그램의 일부 Eclipse 플러그인을 대체 할 대상 플랫폼 플러그인이 필요합니다.

우리는이 작업으로 build.xml에서 빌드를 시작

<ant antfile="${eclipse.pdebuild.scripts}productBuild/productBuild.xml" /> 

이는 baseLocation 잘못된 컴파일러 사용하는 것이 원인이 가능한가요? 또는 소스 레벨을 정의 할 다른 곳이 있습니까?

Target Platform for PDE ...에 따라 Eclipse 3.7.1 설치의 PDE 플러그인이 설치되어 있습니다 (${eclipse.pdebuild.scripts}).

+0

Eclipse 3.7.0은 아직 Java 7을 지원하지 않으므로 Java 7이 필요하면 ** ** 3.7.1로 컴파일해야합니다. –

+0

Eclipse 3.7.1 설치를 사용하여 빌드를 시작하고 baseLocation에는 컴파일러가 없습니다. 즉, "빌드 시스템"에서 e7.7.1의 컴파일러 만 Java 7 코드를 컴파일 할 수 있다는 것을 의미합니다. 문제는 그것이 문제가되지 않는 이유입니다. – jonas

+0

나는 당신이 이미 그것을 알고 있다고 생각하지만,이 작은 세부 사항이 당신의 문제의 이유가 아닌지 확인하고 싶었습니다. –

답변

1

"3.7.0 대상 플랫폼"에서 org.eclipse.osgi_3.7.0.v20110613.jar 대신 org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar 플러그인을 사용하면 컴파일 및 빌드가 성공합니다.

하지만 이전 org.eclipse.osgi-plugin을 사용한 컴파일이 실패하는 이유는 분명하지 않습니다. 나는 의존성 해결 오류 또는 이와 비슷한 것을 기대했을 것입니다.

누군가 해당 주제에 대한 배경 정보가 있으면 기쁠 것입니다.

+0

:-(indigo-3.7.2를 org.eclipse.osgi_3.7.2.v20120110-1415와 함께 사용하면 여기에서 작동하지 않습니다. –

0

감사합니다. Eclipse Indigo를 SR2로 업 그레 이드했습니다.

관련 문제