- 전체
- JAVA 일반
- JAVA 수학
- JAVA 그래픽
- JAVA 자료구조
- JAVA 인공지능
- JAVA 인터넷
- Java Framework
- Java GUI (AWT,SWING,SWT,JFACE)
- SWT and RCP (web RAP/RWT)[eclipse], EMF
SWT and RCP (web RAP/RWT)[eclipse], EMF RCP 등에서 .mf 파일로 다른 프로젝트 익스포트 포함시 라이브러리(메소드)를 찾지 못할 때, Eclipse RCP - cant resolve importing libraries in final build
2019.10.15 21:26
RCP 등에서 .mf 파일로 다른 프로젝트 익스포트 포함시 라이브러리(메소드)를 찾지 못할 때,
Eclipse RCP - cant resolve importing libraries in final build
I try to build/export Eclipse RCP product. I have several JAR libraries (not external JARs but they are inside project root folder). I am able to launch application/product in Eclipse environment but i cannot export it as Plug-in Development/Eclipse product. There is no error during exporting but when i try to run my application .exe file the error occurs:
"An error has occurred. See the log file:
C://...configuration/123123.log"
Inside log there is:
!SESSION 2015-12-18 08:50:22.759 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_60
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=pl_PL
Command-line arguments: -os win32 -ws win32 -arch x86
!ENTRY org.eclipse.osgi 4 0 2015-12-18 08:50:23.284
!MESSAGE Application error
!STACK 1
java.lang.Error: Unresolved compilation problems:
The import com.amazonservices cannot be resolved
MarketplaceWebServiceOrdersConfig cannot be resolved to a type
MarketplaceWebServiceOrdersConfig cannot be resolved to a type
at smoothflow.Application.<init>(Application.java:9)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:184)
at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:191)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
!ENTRY org.eclipse.ui 4 0 2015-12-18 08:50:23.309
!MESSAGE FrameworkEvent ERROR
!STACK 0
java.lang.IllegalStateException: BundleContext is no longer valid
at org.eclipse.osgi.internal.framework.BundleContextImpl.checkValid(BundleContextImpl.java:983)
at org.eclipse.osgi.internal.framework.BundleContextImpl.removeBundleListener(BundleContextImpl.java:334)
at org.eclipse.ui.plugin.AbstractUIPlugin17072.bundleChanged(AbstractUIPlugin.java:620)
at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:902)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
EDIT: ok i see that when i export project to .exe, logs.zip file is created. Inside this log there are tons of errors.
Those errors looks like missing JAR: The import XXX cannot be resolved XXX - package that is inside JAR library 1. ERROR in
C:\Users\X\workspaceRPC\SmoothFlow\src\app\amazonCalls\BaseAmazonCall.java (at line 3)
import com.amazonservices.mws.orders._2013_09_01.MarketplaceWebServiceOrdersAsyncClient;
^^^^^^^^^^^^^^^^^^
The import com.amazonservices cannot be resolved
EDIT: Greg thank you for Your help, i have added in build.properties all the JARs but the problem still exists (the same errors). My build.properties looks like:
source.. = src/
output.. = bin/
bin.includes = plugin.xml,\
META-INF/,\
.,\ <= 이거 중요!!!
lib/,\
lib/FastInfoset.jar,\
lib/MWSClientJavaRuntime-1.0.jar,\
lib/MWSOrders_2013-09-01_v2015-09-24.jar,\
...
jars.compile.order = .,\
[answer]
As well as listing the Jars in the MANIFEST.MF (shown on the Runtime tab in the editor) you must also list the jars in the 'build.properties' file. This is shown on the 'Build' tab of the MANIFEST.MF/plugin.xml/build.properties editor.
An example:
In this example I have three jars in a 'lib' directory included in the build.
The build.properties file itself will look like:
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.properties,\
plugin.xml,\
about.html,\
about_files/,\
lib/,\
lib/jogg-0.0.7.jar,\
lib/jorbis-0.0.15.jar,\
lib/vorbisspi1.0.2.jar,\
icons/
Everything you want included in the plugin must be listed in the build.properties.
.MF 파일에서 점 추가 (add dot):자기 자신의 디렉토리가 중요
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.