在WSL2中安装eclipse

  • 前提
  • 背景
  • 步骤
    • 1. 从官网下载eclipse包(这边使用package,没有使用安装器)
    • 2. 安装eclipse
      • 1. 进入WSL2(Debian),并拷贝进去
      • 2. 运行eclipse
      • 3. 安装依赖环境
      • 4. 安装图形化界面
      • 5. 打开远程连接
  • 结语

前提

上接 :用WSL安装Docker镜像

背景

由于一些特殊原因,公司部署到服务器环境与开发所用的环境完全不一致,为了方便,因此写了这篇文章来使两边环境基本一致,而无需过多修改配置。

步骤

1. 从官网下载eclipse包(这边使用package,没有使用安装器)

链接: Eclipse下载地址
下载后得到eclipse-jee-2021-03-R-linux-gtk-x86_64.tar.gz包

2. 安装eclipse

1. 进入WSL2(Debian),并拷贝进去

cp /mnt/e/eclipse-jee-2021-03-R-linux-gtk-x86_64.tar.gz ~
tar -zxvf eclipse-jee-2021-03-R-linux-gtk-x86_64.tar.gz

2. 运行eclipse

cd eclipse
./eclipse

3. 安装依赖环境

运行后发现报错,错误信息如下:

eclipse.buildId=4.19.0.I20210303-1800
java.version=15.0.2
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.jee.product

!ENTRY org.eclipse.osgi 4 0 2021-04-03 01:06:43.121
!MESSAGE Application error
!STACK 1
java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-pi4-gtk-4942r22 in java.library.path: /usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
no swt-pi4-gtk in java.library.path: /usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
Can’t load library: /home/admin/.swt/lib/linux/x86_64/libswt-pi4-gtk-4942r22.so
Can’t load library: /home/admin/.swt/lib/linux/x86_64/libswt-pi4-gtk.so

   at org.eclipse.swt.internal.Library.loadLibrary(Library.java:338)
   at org.eclipse.swt.internal.Library.loadLibrary(Library.java:257)
   at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:96)
   at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:209)
   at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:155)
   at org.eclipse.swt.widgets.Display.<clinit>(Display.java:163)
   at >org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:726)
   at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:168)
   at >org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApp>lication.java:182)
   at >org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.j>ava:125)
   at >org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.>java:203)
   at >org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplicati>on(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:401)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.base/java.lang.reflect.Method.invoke(Method.java:564)
   at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
   at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
   at org.eclipse.equinox.launcher.Main.run(Main.java:1461)
   at org.eclipse.equinox.launcher.Main.main(Main.java:1434)

里面是的关键信息:Could not load SWT library
这是缺少了swt依赖包,这是因为没有安装这个包,最简单的方法是直接安装个java包即可

sudo apt install -y openjdk-11-jdk
./eclipse

4. 安装图形化界面

运行后发现报错,错误信息如下:

(process:4404): Gtk-WARNING **: 01:22:46.503: Locale not supported by C library.
Using the fallback ‘C’ locale.
Unable to init server: Could not connect: Connection refused
Eclipse: Cannot open display:
org.eclipse.m2e.logback.configuration: The org.eclipse.m2e.logback.configuration bundle was activated before the state location was initialized. Will retry after the state location is initialized.
Unable to init server: Could not connect: Connection refused

(process:4384): Gtk-WARNING **: 01:22:48.636: Locale not supported by C library.
Using the fallback ‘C’ locale.
Unable to init server: Could not connect: Connection refused
Eclipse: Cannot open display:
Eclipse:
An error has occurred. See the log file

关键信息:
Locale not supported by C library.
Unable to init server: Could not connect: Connection refused
这是缺少了locale的设置与图形界面

#安装区域包
sudo apt install locales
#修改区域
sudo dpkg-reconfigure locales
#选486,选2

#安装图形界面与远程连接工具
sudo apt install -y xfce4 xrdp
#修改端口
sudo vim /etc/xrdp/xrdp.ini

#port=3390
#修改默认的通信端口`3389`,防止和Windows系统的远程桌面冲突

#启动连接工具
sudo /etc/init.d/xrdp start

安装完关闭窗口。

5. 打开远程连接

输入mstsc,再输入localhost:3390进行连接

登录进去后即可正常访问系统,此时就能直接打开eclipse

至此就能愉快的在上面开始开发了。

结语

此篇省略了一些vim、useradd等常用命令的安装与使用,这些只要搜索一下就能大致了解。

更多推荐

在WSL2中安装eclipse