方法一
q 9.9(e) Start a Windows command line and execute the following commands.
You'll be using the value for $LIBPATH that you wrote down in Step 9.6(i).
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.
C:\>echo %PATH%
C:\WINNT;C:\WINNT\System32;C:\WINNT\System32\Wbem
C:\>copy "c:\Program Files\eclipse\plugins\org.eclipse.swt.win32_2.1.0\os\win32\86\*" c:\WINNT
c:\Program Files\eclipse\plugins\org.eclipse.swt.win32_2.1.0\os\win32\x86\swt-win32-2133.dll
1 file(s) copied.
-
echo %PATH%
This will show you your path. You should see "C:\WINNT" in the path. If not, you have a very nonstandard Windows configuration, and I assume you're an expert and can modify the next step as appropriate.
-
copy "c:\Program
Files\eclipse\plugins\org.eclipse.swt.win32_2.1.0\os\win32\x86\*" c:\WINNT
The format of this line is
copy "$LIBPATH\*" C:\WINNT
This line copies the SWT native library from its Eclipse library into your system's library path. This will allow the system to find it. As I mentioned at the beginning of this step, the folder name is the $LIBPATH value you saved in Step 9.6(i).
Note | Each time you upgrade Eclipse, you may have to repeat this step. If there are changes to the native libraries, the Eclipse team renames the library and changes all references to the new name. To see if this is necessary, try to run one of your simple SWT example applications. If you get the UnsatisfiedLinkError, you'll need to repeat this step. |
Now go back and rerun the application.
方法二
This usually appears as one of the following: Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-pi-carbon-3063 in java.library.path (Carbon on Mac OS X), Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3063 in java.library.path (Win32 on Windows), or Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-pi-gtk-3063 in java.library.path (GTK2 on Linux). Those are the UnsatisifiedLinkErrors for SWT in Eclipse 3.0.1.
For Eclipse 3.0, it would be swt-pi-carbon-3062, swt-win32-3062, and swt-pi-gtk3062 respectively.
Now there is an easy correction for this. Just go to "Run" | "Run...", which brings up the "Run" dialog. Then navigate to the "Arguments" tab and in the "VM Arguments:" text box, enter (for Eclipse 3.0.1):
-Djava.library.path=${system:ECLIPSE_HOME}/plugins/org.eclipse.swt.carbon_3.0.1/os/macosx/ppc (for Carbon on Mac OS X)
-Djava.library.path=${system:ECLIPSE_HOME}/plugins/org.eclipse.swt.win32_3.0.1/os/win32/x86 (for Win32 on Windows) or
-Djava.library.path=${system:ECLIPSE_HOME}/plugins/org.eclipse.swt.gtk_3.0.1/os/linux/x86 (for GTK2 on Linux).