저는 단위 테스트를 위해 하나의 플러그인 번들과 번들 조각으로 Eclipse 4 RCP 프로젝트에서 작업합니다. 대상 플랫폼은 Eclipse 대상 정의 (.target 파일)로 정의됩니다. Maven with Tycho는 Eclipse 외부에서 프로젝트를 빌드하는 데 사용됩니다 (대상 플랫폼을 정의하는 .target 파일로 먼저 매니페스트를 표시).HamCrest가 종속되어 있어도 Mockito 번들은 org.hamcrest 패키지를 찾을 수 없습니다.
이제 조롱을위한 대상 플랫폼에 Mockito를 포함하고자합니다. Eclipse Orbit은 org.mockito (1.9.5) 번들을 제공합니다. 그것은 org.hamcrest (Orbit p2 사이트에서도 찾을 수 있습니다)에 따라 달라 지므로 대상 정의에도 추가했습니다. 모두 수출 번들 (
에도 모두 org.hamcrest.library 불구하고 현재 org.hamcrest.core입니다 : 내가 대상 파일에서 Eclipse의 대상 플랫폼을 설정하면 다음은 대상 플랫폼 상태보기에 표시 org.hamcrest 1.3.0 패키지) org.mockito 번들은 org.hamcrest 패키지를 놓치고 있다고 주장한다.
그럼에도 불구하고 org.mockito 및 org.hamcrest.library를 MANIFEST.MF의 테스트 플러그인 조각의 종속성에 추가했습니다.
Require-Bundle: org.junit;bundle-version="4.11.0",
org.hamcrest.library;bundle-version="1.3.0",
org.mockito;bundle-version="1.9.5"
조각이 컴파일 된 것처럼 보이지만 테스트를 실행할 수 없습니다. 티코 - 확실한 - 플러그인 보고서 :
이An error has occurred. See the log file [...]\target\work\configuration\1405514016520.log.
로그 파일 읽기 :
!SESSION 2014-07-16 14:33:34.053 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.7.0_55
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Framework arguments: -application org.eclipse.tycho.surefire.osgibooter.headlesstest -testproperties F:\Users\Jakob\Documents\Bachelorprojekt\Code\myplugin.tests\target\surefire.properties
Command-line arguments: -data F:\Users\Jakob\Documents\Bachelorprojekt\Code\myplugin.tests\target\work\data -application org.eclipse.tycho.surefire.osgibooter.headlesstest -testproperties F:\Users\Jakob\Documents\Bachelorprojekt\Code\myplugin.tests\target\surefire.properties
!ENTRY org.eclipse.osgi 2 0 2014-07-16 14:33:40.508
!MESSAGE One or more bundles are not resolved because the following root constraints are not resolved:
!SUBENTRY 1 org.eclipse.osgi 2 0 2014-07-16 14:33:40.508
!MESSAGE Bundle [email protected]:file:../../../../../../.m2/repository/p2/osgi/bundle/org.eclipse.swt.gtk.linux.x86_64/3.102.1.v20130827-2048/org.eclipse.swt.gtk.linux.x86_64-3.102.1.v20130827-2048.jar was not resolved.
!SUBENTRY 2 org.eclipse.swt.gtk.linux.x86_64 2 0 2014-07-16 14:33:40.508
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter="(|(&(osgi.ee=CDC/Foundation)(version=1.0))(&(osgi.ee=JavaSE)(version=1.3)))".
!SUBENTRY 1 org.eclipse.osgi 2 0 2014-07-16 14:33:40.508
!MESSAGE Bundle [email protected]:file:../../../../../../.m2/repository/p2/osgi/bundle/org.eclipse.swt.cocoa.macosx.x86_64/3.102.1.v20130827-2048/org.eclipse.swt.cocoa.macosx.x86_64-3.102.1.v20130827-2048.jar was not resolved.
!SUBENTRY 2 org.eclipse.swt.cocoa.macosx.x86_64 2 0 2014-07-16 14:33:40.508
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter="(|(&(osgi.ee=CDC/Foundation)(version=1.0))(&(osgi.ee=JavaSE)(version=1.3)))".
!SUBENTRY 1 org.eclipse.osgi 2 0 2014-07-16 14:33:40.508
!MESSAGE Bundle [email protected]:file:../../../../../../.m2/repository/p2/osgi/bundle/org.mockito/1.9.5.v201311280930/org.mockito-1.9.5.v201311280930.jar was not resolved.
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.509
!MESSAGE Missing imported package org.hamcrest_[1.0.0,2.0.0).
!ENTRY org.eclipse.osgi 2 0 2014-07-16 14:33:40.547
!MESSAGE The following is a complete list of bundles which are not resolved, see the prior log entry for the root cause if it exists:
!SUBENTRY 1 org.eclipse.osgi 2 0 2014-07-16 14:33:40.547
!MESSAGE Bundle myplugin.tests_0.0.1.qualifier [2] was not resolved.
!SUBENTRY 2 myplugin.tests 2 0 2014-07-16 14:33:40.547
!MESSAGE Missing required bundle org.mockito_1.9.5.
!SUBENTRY 1 org.eclipse.osgi 2 0 2014-07-16 14:33:40.547
!MESSAGE Bundle org.mockito_1.9.5.v201311280930 [5] was not resolved.
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.547
!MESSAGE Missing optionally imported package COM.jrockit.reflect_0.0.0.
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.547
!MESSAGE Missing optionally imported package jrockit.vm_0.0.0.
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.547
!MESSAGE Missing imported package org.hamcrest_[1.0.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.547
!MESSAGE Missing imported package org.mockito_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.547
!MESSAGE Missing imported package org.mockito.configuration_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.547
!MESSAGE Missing imported package org.mockito.exceptions_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.547
!MESSAGE Missing imported package org.mockito.exceptions.base_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.547
!MESSAGE Missing imported package org.mockito.exceptions.misusing_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.547
!MESSAGE Missing imported package org.mockito.exceptions.stacktrace_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.547
!MESSAGE Missing imported package org.mockito.exceptions.verification_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.548
!MESSAGE Missing imported package org.mockito.exceptions.verification.junit_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.548
!MESSAGE Missing imported package org.mockito.invocation_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.548
!MESSAGE Missing imported package org.mockito.listeners_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.548
!MESSAGE Missing imported package org.mockito.mock_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.548
!MESSAGE Missing imported package org.mockito.plugins_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.548
!MESSAGE Missing imported package org.mockito.runners_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.548
!MESSAGE Missing imported package org.mockito.stubbing_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.548
!MESSAGE Missing imported package org.mockito.stubbing.answers_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.548
!MESSAGE Missing imported package org.mockito.verification_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.548
!MESSAGE Missing optionally imported package sun.reflect_0.0.0.
!SUBENTRY 1 org.eclipse.osgi 2 0 2014-07-16 14:33:40.548
!MESSAGE Bundle org.eclipse.swt.gtk.linux.x86_64_3.102.1.v20130827-2048 [147] was not resolved.
!SUBENTRY 2 org.eclipse.swt.gtk.linux.x86_64 2 0 2014-07-16 14:33:40.548
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter="(|(&(osgi.ee=CDC/Foundation)(version=1.0))(&(osgi.ee=JavaSE)(version=1.3)))".
!SUBENTRY 1 org.eclipse.osgi 2 0 2014-07-16 14:33:40.548
!MESSAGE Bundle org.eclipse.swt.cocoa.macosx.x86_64_3.102.1.v20130827-2048 [148] was not resolved.
!SUBENTRY 2 org.eclipse.swt.cocoa.macosx.x86_64 2 0 2014-07-16 14:33:40.548
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter="(|(&(osgi.ee=CDC/Foundation)(version=1.0))(&(osgi.ee=JavaSE)(version=1.3)))".
!ENTRY org.eclipse.osgi 2 0 2014-07-16 14:33:40.804
!MESSAGE One or more bundles are not resolved because the following root constraints are not resolved:
!SUBENTRY 1 org.eclipse.osgi 2 0 2014-07-16 14:33:40.804
!MESSAGE Bundle [email protected]:file:../../../../../../.m2/repository/p2/osgi/bundle/org.eclipse.swt.gtk.linux.x86_64/3.102.1.v20130827-2048/org.eclipse.swt.gtk.linux.x86_64-3.102.1.v20130827-2048.jar was not resolved.
!SUBENTRY 2 org.eclipse.swt.gtk.linux.x86_64 2 0 2014-07-16 14:33:40.804
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter="(|(&(osgi.ee=CDC/Foundation)(version=1.0))(&(osgi.ee=JavaSE)(version=1.3)))".
!SUBENTRY 1 org.eclipse.osgi 2 0 2014-07-16 14:33:40.804
!MESSAGE Bundle [email protected]:file:../../../../../../.m2/repository/p2/osgi/bundle/org.eclipse.swt.cocoa.macosx.x86_64/3.102.1.v20130827-2048/org.eclipse.swt.cocoa.macosx.x86_64-3.102.1.v20130827-2048.jar was not resolved.
!SUBENTRY 2 org.eclipse.swt.cocoa.macosx.x86_64 2 0 2014-07-16 14:33:40.804
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter="(|(&(osgi.ee=CDC/Foundation)(version=1.0))(&(osgi.ee=JavaSE)(version=1.3)))".
!SUBENTRY 1 org.eclipse.osgi 2 0 2014-07-16 14:33:40.804
!MESSAGE Bundle [email protected]:file:../../../../../../.m2/repository/p2/osgi/bundle/org.mockito/1.9.5.v201311280930/org.mockito-1.9.5.v201311280930.jar was not resolved.
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.804
!MESSAGE Missing imported package org.hamcrest_[1.0.0,2.0.0).
!ENTRY org.eclipse.osgi 2 0 2014-07-16 14:33:40.833
!MESSAGE The following is a complete list of bundles which are not resolved, see the prior log entry for the root cause if it exists:
!SUBENTRY 1 org.eclipse.osgi 2 0 2014-07-16 14:33:40.833
!MESSAGE Bundle myplugin.tests_0.0.1.qualifier [2] was not resolved.
!SUBENTRY 2 myplugin.tests 2 0 2014-07-16 14:33:40.833
!MESSAGE Missing required bundle org.mockito_1.9.5.
!SUBENTRY 1 org.eclipse.osgi 2 0 2014-07-16 14:33:40.833
!MESSAGE Bundle org.mockito_1.9.5.v201311280930 [5] was not resolved.
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.833
!MESSAGE Missing optionally imported package COM.jrockit.reflect_0.0.0.
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.833
!MESSAGE Missing optionally imported package jrockit.vm_0.0.0.
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.833
!MESSAGE Missing imported package org.hamcrest_[1.0.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.834
!MESSAGE Missing imported package org.mockito_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.834
!MESSAGE Missing imported package org.mockito.configuration_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.834
!MESSAGE Missing imported package org.mockito.exceptions_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.834
!MESSAGE Missing imported package org.mockito.exceptions.base_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.834
!MESSAGE Missing imported package org.mockito.exceptions.misusing_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.834
!MESSAGE Missing imported package org.mockito.exceptions.stacktrace_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.834
!MESSAGE Missing imported package org.mockito.exceptions.verification_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.834
!MESSAGE Missing imported package org.mockito.exceptions.verification.junit_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.834
!MESSAGE Missing imported package org.mockito.invocation_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.834
!MESSAGE Missing imported package org.mockito.listeners_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.835
!MESSAGE Missing imported package org.mockito.mock_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.835
!MESSAGE Missing imported package org.mockito.plugins_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.835
!MESSAGE Missing imported package org.mockito.runners_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.835
!MESSAGE Missing imported package org.mockito.stubbing_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.835
!MESSAGE Missing imported package org.mockito.stubbing.answers_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.835
!MESSAGE Missing imported package org.mockito.verification_[1.9.0,2.0.0).
!SUBENTRY 2 org.mockito 2 0 2014-07-16 14:33:40.835
!MESSAGE Missing optionally imported package sun.reflect_0.0.0.
!SUBENTRY 1 org.eclipse.osgi 2 0 2014-07-16 14:33:40.835
!MESSAGE Bundle org.eclipse.swt.gtk.linux.x86_64_3.102.1.v20130827-2048 [147] was not resolved.
!SUBENTRY 2 org.eclipse.swt.gtk.linux.x86_64 2 0 2014-07-16 14:33:40.835
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter="(|(&(osgi.ee=CDC/Foundation)(version=1.0))(&(osgi.ee=JavaSE)(version=1.3)))".
!SUBENTRY 1 org.eclipse.osgi 2 0 2014-07-16 14:33:40.835
!MESSAGE Bundle org.eclipse.swt.cocoa.macosx.x86_64_3.102.1.v20130827-2048 [148] was not resolved.
!SUBENTRY 2 org.eclipse.swt.cocoa.macosx.x86_64 2 0 2014-07-16 14:33:40.835
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter="(|(&(osgi.ee=CDC/Foundation)(version=1.0))(&(osgi.ee=JavaSE)(version=1.3)))".
!ENTRY org.eclipse.osgi 4 0 2014-07-16 14:33:40.857
!MESSAGE Application error
!STACK 1
java.lang.RuntimeException: Bundle myplugin.tests is not found
at org.eclipse.tycho.surefire.osgibooter.OsgiSurefireBooter.getBundleClassLoader(OsgiSurefireBooter.java:149)
at org.eclipse.tycho.surefire.osgibooter.OsgiSurefireBooter.run(OsgiSurefireBooter.java:67)
at org.eclipse.tycho.surefire.osgibooter.HeadlessTestApplication.run(HeadlessTestApplication.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198)
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:354)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
이클립스 PDE에서 플러그인 테스트를 시작 효과적으로 같은 mockito 관련 오류를합니다 (SWT-관련된 사람이없는 산출 대신 Eclipse에서 이러한 테스트를 실행하지 않고 실행 구성에서 충돌하는 일부 번들을 제거하지 않았기 때문에 다른 번들 해결 오류가 있습니다.
대상 플랫폼에서 다른 필수 번들에 의해 패키지를 확실히 내 보낸 경우에도 누락 된 가져온 패키지 오류의 가능한 원인은 무엇이며 어떻게 해결할 수 있습니까?
mockito-junit 기능을 포함시킨 후 CramB와 동일한 문제가 발생하여 org.objenesis [2.1.0,3.0.0] 기능이 포함되지 않은 채 누락 된 것으로보고되었으므로 기능에 포함되지 않습니다. 우리는 대상 플랫폼 프로비저닝을 위해 로컬 p2 사이트를 사용하지 않으므로 powermock 사이트에서 번들을 단순히 복사 할 수 없습니다. objenesis 번들을 포함하여 기능을 제공 할 수 있습니까? 궤도는 objenesis 1.0.0 availabe 만 있습니다. – JayK
http://powermock-osgi.googlecode.com/svn/updateSite/1.5.4.1/plugins/는 대상 파일에 추가 할 수있는 간단한 원격 업데이트 사이트입니다. URL을 추가하고 기능을 선택하면 대상 파일 편집기의 "내용"탭에서 추가 된 번들을 필터링 할 수 있습니다. 2.1이 있습니다.0 내 사이트에 objenesis. –
Eclipse의 대상 정의 편집기 탭은 프로비저닝 위치를 편집 할 때만 기능 선택을 허용합니다 (또는 항상 도움이되는 스위치를 놓친 경우 ...). 따라서 단일 번들을 기능에 포함되지 않았으므로 플랫폼에 추가 할 수 없습니다. 번들을 추가하기 위해 손으로 대상 파일을 편집 했으므로 이제는 제대로 작동합니다. 고맙습니다! 위의 URL에서 후행/플러그인을 제외하고 대상 편집기에 대한 답을 입력해야합니다. – JayK