系统版本:Ubuntu19.04
安装时间:2020/04/26
首先进入这个网址:https://www.oracle.com/java/technologies/,然后进入Java SE。
或者是直接选择Newest Download里面的最新版JavaSE
在Java SE xx(数字)下选择JDK Download
进入之后选择tar.gz的包下载,这种包不需要经过编译,更加方便
下载之后一般~/home/Download文件夹下面
然后将文件解压。直接右键提取到此处即可。得到一个文件夹jdk-14.0.1_linux-x64_bin
然后打开控制台将该解压出的文件夹移动到/usr/lib下面。(虽然是非必要的,但是usr文件夹下是存放安装的软件相关数据的,我比较习惯放到这里)
sudo mv jdk-14.0.1_linux-x64_bin /usr/lib
打开 /etc/profile文件。
可以用vim/vi/nano/gedit什么都行,只要能编辑就行。不适应用命令行界面的可以用sudo gedit /etc/profile
然后在文件的末尾加上下面的内容
export JAVA_HOME=/usr/lib/jdk-14.0.1_linux-x64_bin/jdk-14.0.1 //注意这里要更往下一级
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=.:${JAVA_HOME}bin:$PATH
然后 source /etc/profile,然后重启即可
打开 ~/.bashrc文件,在末尾加上上面同样的内容,然后执行 source ~/.bashrc即可。
打开控制台,输入java --version,如果打印出java的版本信息即可。
顺便检查一下java编译器 javac --version。
Control System Studio这个东西资料真的不多,中文搜根本搜不到任何东西。
去这个地方http://controlsystemstudio.org/controlsystemstudio/current.html打开下载列表选择适合自己系统版本的CS Studio
下载之后移动到自己想要的地方解压即可。4.5.9-linux.gtk.x86_64.tar.gz解压之后的文件夹结构如下.其中cs-studio是可执行文件。
启动css的时候
但是程序崩了,并且出现了报错信息:
An erro has occurred.see the log file xxx
去看了一下对应的log文件,一次出错的大致内容如下:
!SESSION 2020-04-27 19:26:13.632 -----------------------------------------------
eclipse.buildId=unknown
java.version=14.0.1
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=zh_CN
Command-line arguments: -os linux -ws gtk -arch x86_64
!ENTRY org.eclipse.equinox.ds 1 0 2020-04-27 19:26:14.267
!MESSAGE Could not bind a reference of component org.csstudio.diirt.util.RegisterDatasource. The reference is: Reference[name = DataSourceProvider, interface = org.diirt.datasource.DataSourceProvider, policy = dynamic, cardinality = 0..n, target = null, bind = registerDatasource, unbind = deregisterDatasource]
!ENTRY org.eclipse.equinox.ds 1 0 2020-04-27 19:26:14.269
!MESSAGE Could not bind a reference of component org.csstudio.diirt.util.RegisterFormulaFunctionSet. The reference is: Reference[name = FormulaFunctionSet, interface = org.diirt.datasource.formula.FormulaFunctionSet, policy = dynamic, cardinality = 0..n, target = null, bind = registerFormulaFunctionSet, unbind = deregisterFormulaFunctionSet]
!ENTRY org.eclipse.equinox.ds 1 0 2020-04-27 19:26:14.270
!MESSAGE Could not bind a reference of component org.csstudio.diirt.util.RegisterService. The reference is: Reference[name = ServiceProvider, interface = org.diirt.service.ServiceProvider, policy = static, cardinality = 0..n, target = null, bind = registerService, unbind = null]
!ENTRY org.eclipse.core.resources 2 10035 2020-04-27 19:26:16.946
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
!ENTRY org.eclipse.osgi 4 0 2020-04-27 19:26:17.101
!MESSAGE Application error
!STACK 1
org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:386)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:294)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultHeadlessContext(E4Application.java:490)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:504)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:203)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:632)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.csstudio.utility.product.Workbench.runWorkbench(Workbench.java:99)
at org.csstudio.startup.application.Application.startApplication(Application.java:265)
at org.csstudio.startup.application.Application.start(Application.java:119)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
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:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
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:673)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
at org.eclipse.equinox.launcher.Main.main(Main.java:1492)
Caused by: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:151)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:375)
... 25 more
Caused by: java.lang.ClassNotFoundException: javax.annotation.PostConstruct cannot be found by org.eclipse.e4.core.di_1.6.1.v20160712-0927
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:410)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 27 more
!ENTRY org.eclipse.e4.ui.workbench 4 0 2020-04-27 19:26:17.123
!MESSAGE FrameworkEvent ERROR
!STACK 0
java.lang.NoClassDefFoundError: javax/annotation/PreDestroy
at org.eclipse.e4.core.internal.di.InjectorImpl.disposed(InjectorImpl.java:426)
at org.eclipse.e4.core.internal.di.Requestor.disposed(Requestor.java:154)
at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextInjectionListener.update(ContextObjectSupplier.java:78)
at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update(TrackableComputationExt.java:111)
at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.handleInvalid(TrackableComputationExt.java:74)
at org.eclipse.e4.core.internal.contexts.EclipseContext.dispose(EclipseContext.java:176)
at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.dispose(EclipseContextOSGi.java:106)
at org.eclipse.e4.core.internal.contexts.osgi.EclipseContextOSGi.bundleChanged(EclipseContextOSGi.java:139)
at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213)
at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120)
at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112)
at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:156)
at org.eclipse.osgi.container.Module.publishEvent(Module.java:476)
at org.eclipse.osgi.container.Module.doStop(Module.java:634)
at org.eclipse.osgi.container.Module.stop(Module.java:498)
at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:202)
at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:165)
at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.ClassNotFoundException: javax.annotation.PreDestroy cannot be found by org.eclipse.e4.core.di_1.6.1.v20160712-0927
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:410)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 21 more
我们注意到,主要有下面三个地方的错误要留意:
首先开头这个地方中有一个eclipse.buildId = unknown
这个Message不能绑定引用
有一个类的定义找不到
查到最有用的一个资料是这个,这个人遇到的问题与我极其相似,虽然他这是MacOS
https://github.com/ControlSystemStudio/cs-studio/issues/2561
这个回答如果看不太懂可以看下面这个人给出的链接
简单的说原因如下:Java版本不适合,需要使用java 1.8(也即Java 8),之前我们装的是Java 14.
在之前的下载页面下拉,可以看到一个Java SE 8xxxx,比我现在看到的是8u251
下载对应的JDK,下载之后解压,解压之后进入文件夹,然后还有两个zip文件需要解压。把这两个也解压了,然后按照之前的方式配置生效,把JAVA_HOME的路径修改称JAVA 1.8的路径即可。
再测试一下
再启动cs studio就可以了
CS Studio这个东西究竟该怎么用?
进入CSS之后的welcome界面,first steps->introduciton to CS-Studio不知道为什么打不开
我一度怀疑是不是我的虚拟机下没有翻墙,所以显示不出来。于是我想办法让我的虚拟机翻出去之后再试,然而还是进不去
下面的probe和 BOY 点了之后一点反应都没有
tutorial点开之后什么内容都没有
找到一个CSS的使用的pdf:https://epics.anl.gov/docs/USPAS2014/1-Monday/CSS_2_First_Steps.pdf
但是这个东西好像有点老了,有些内容已经不适用了。比如这个
但是CS Studio菜单下根本就没有trend这个子菜单。而且下面的子菜单也没有包含Data Browser这个选项。
而且这个地方说可以查看help文档
但是我 help->help context一点反应都没有。只能通过windows → show view->help才能看到这个窗口
而且这里面的文档也是无法访问的
其他地方几乎搜不到任何关于如何使用CS-Studio的文章或者教程。在Control System Studio Guide Chapter1 introduction里面说到,使用者参考help文档即可(help->help context)但是我这个的help context一直打不开。
于是我又去看了下日志文件。大致内容如下:
!SESSION 2020-04-29 17:40:51.396 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_251
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=zh_CN
Command-line arguments: -os linux -ws gtk -arch x86_64
!ENTRY org.eclipse.equinox.ds 1 0 2020-04-29 17:40:51.997
!MESSAGE Could not bind a reference of component org.csstudio.diirt.util.RegisterDatasource. The reference is: Reference[name = DataSourceProvider, interface = org.diirt.datasource.DataSourceProvider, policy = dynamic, cardinality = 0..n, target = null, bind = registerDatasource, unbind = deregisterDatasource]
!ENTRY org.eclipse.equinox.ds 1 0 2020-04-29 17:40:52.000
!MESSAGE Could not bind a reference of component org.csstudio.diirt.util.RegisterFormulaFunctionSet. The reference is: Reference[name = FormulaFunctionSet, interface = org.diirt.datasource.formula.FormulaFunctionSet, policy = dynamic, cardinality = 0..n, target = null, bind = registerFormulaFunctionSet, unbind = deregisterFormulaFunctionSet]
!ENTRY org.eclipse.equinox.ds 1 0 2020-04-29 17:40:52.002
!MESSAGE Could not bind a reference of component org.csstudio.diirt.util.RegisterService. The reference is: Reference[name = ServiceProvider, interface = org.diirt.service.ServiceProvider, policy = static, cardinality = 0..n, target = null, bind = registerService, unbind = null]
!ENTRY org.eclipse.jface 4 0 2020-04-29 17:41:00.296
!MESSAGE /icons/welcome16.png
!STACK 0
java.io.FileNotFoundException: /icons/welcome16.png
at org.eclipse.osgi.storage.url.bundleentry.Handler.findBundleEntry(Handler.java:37)
at org.eclipse.osgi.storage.url.BundleResourceHandler.openConnection(BundleResourceHandler.java:169)
at java.net.URL.openConnection(URL.java:1001)
at org.eclipse.core.internal.boot.PlatformURLConnection.connect(PlatformURLConnection.java:112)
at org.eclipse.core.internal.boot.PlatformURLConnection.getURLAsLocal(PlatformURLConnection.java:237)
at org.eclipse.core.internal.runtime.PlatformURLConverter.toFileURL(PlatformURLConverter.java:34)
at org.eclipse.core.runtime.FileLocator.toFileURL(FileLocator.java:207)
at org.eclipse.jface.resource.URLImageDescriptor.getFilePath(URLImageDescriptor.java:213)
at org.eclipse.jface.resource.URLImageDescriptor.access$1(URLImageDescriptor.java:200)
at org.eclipse.jface.resource.URLImageDescriptor$URLImageFileNameProvider.getImagePath(URLImageDescriptor.java:53)
at org.eclipse.swt.internal.DPIUtil.validateAndGetImagePathAtZoom(DPIUtil.java:407)
at org.eclipse.swt.graphics.Image.<init>(Image.java:775)
at org.eclipse.jface.resource.URLImageDescriptor.createImage(URLImageDescriptor.java:244)
at org.eclipse.jface.resource.ImageDescriptor.createResource(ImageDescriptor.java:164)
at org.eclipse.jface.resource.DeviceResourceManager.allocate(DeviceResourceManager.java:52)
at org.eclipse.jface.resource.AbstractResourceManager.create(AbstractResourceManager.java:86)
at org.eclipse.jface.resource.LocalResourceManager.allocate(LocalResourceManager.java:69)
at org.eclipse.jface.resource.AbstractResourceManager.create(AbstractResourceManager.java:86)
at org.eclipse.jface.resource.ResourceManager.createImage(ResourceManager.java:172)
at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.getImage(AbstractContributionItem.java:155)
at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.updateIcons(AbstractContributionItem.java:179)
at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.update(AbstractContributionItem.java:131)
at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.fill(AbstractContributionItem.java:266)
at org.eclipse.jface.action.MenuManager.doItemFill(MenuManager.java:728)
at org.eclipse.jface.action.MenuManager.update(MenuManager.java:810)
at org.eclipse.jface.action.MenuManager.handleAboutToShow(MenuManager.java:472)
at org.eclipse.jface.action.MenuManager.access$1(MenuManager.java:465)
at org.eclipse.jface.action.MenuManager$2.menuShown(MenuManager.java:497)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:256)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5227)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1340)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1366)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1345)
at org.eclipse.swt.widgets.Menu.gtk_show(Menu.java:711)
at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1949)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5492)
at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:9545)
at org.eclipse.swt.widgets.Display.eventProc(Display.java:1275)
at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2495)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4149)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:693)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.csstudio.utility.product.Workbench.runWorkbench(Workbench.java:99)
at org.csstudio.startup.application.Application.startApplication(Application.java:265)
at org.csstudio.startup.application.Application.start(Application.java:119)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
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:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
at org.eclipse.equinox.launcher.Main.main(Main.java:1492)
!ENTRY org.eclipse.ui 4 0 2020-04-29 17:41:02.571
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/equinox/http/jetty/JettyConfigurator
at org.eclipse.help.internal.server.JettyHelpServer$StartServerThread.run(JettyHelpServer.java:79)
Caused by: java.lang.ClassNotFoundException: org.eclipse.equinox.http.jetty.JettyConfigurator cannot be found by org.eclipse.help.base_4.1.2.v20170301-0400
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 1 more
!ENTRY org.eclipse.equinox.p2.transport.ecf 2 0 2020-04-29 17:41:21.826
!MESSAGE Connection to https://ics-web.sns.ornl.gov/css/display.builde/p2.index failed on 拒绝连接 (Connection refused). Retry attempt 0 started
!STACK 0
java.net.ConnectException: 拒绝连接 (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:606)
at org.eclipse.ecf.internal.provider.filetransfer.httpclient4.ECFHttpClientSecureProtocolSocketFactory.performConnection(ECFHttpClientSecureProtocolSocketFactory.java:96)
at org.eclipse.ecf.internal.provider.filetransfer.httpclient4.ECFHttpClientSecureProtocolSocketFactory.connectSocket(ECFHttpClientSecureProtocolSocketFactory.java:77)
at org.apache.http.conn.scheme.SchemeLayeredSocketFactoryAdaptor2.connectSocket(SchemeLayeredSocketFactoryAdaptor2.java:60)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:131)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.performConnect(HttpClientRetrieveFileTransfer.java:1084)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.access$0(HttpClientRetrieveFileTransfer.java:1075)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer$1.performFileTransfer(HttpClientRetrieveFileTransfer.java:1071)
at org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:74)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
发现还是存在以下的问题:
eclipseId=unknown
还是有MESSAGE不能绑定引用
缺少一个png图标文件
有个类的定义找不到,这个我查了资料之后得知,要想能够看到help文档就要用到这个类
我找到资料说这个CS-Studio是基于Eclipse的,所以我在想是不是因为我没有装Eclipse所以缺少了库文件之类的,
我再去看了看下载的界面发现的确有说需要Eclipse Neon 4.6的
于是我在Ubuntu下安装了Eclipse Neon。但是仍然没有起作用。
找到的和我遇到的问题比较接近的是这个: https://epics.anl.gov/tech-talk/2017/msg00396.php
忘了最终是在哪搜到的解决方案,但是最终找到的有用的页面是这个https://controlssoftware.sns.ornl.gov/
这个他说这个SNS Control Software Tools才是适用于EPICS的 我选择的是第二个(点击More)。因为他说这个已经应用到了很多地方,所以我觉得这个应该更加稳定一些。
重新下载安装这个版本,然后help文档就可以用了。
虽然Welcome页面似乎还是不能用的样子。
log文件的内容大概是这样的。
!SESSION 2020-04-29 18:21:36.475 -----------------------------------------------
eclipse.buildId=SNS_CSS
java.version=1.8.0_251
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=zh_CN
Command-line arguments: -os linux -ws gtk -arch x86_64
!ENTRY org.eclipse.equinox.p2.transport.ecf 2 0 2020-04-29 18:22:08.294
!MESSAGE Connection to http://ics-web.sns.ornl.gov/css/updates/p2.index failed on 拒绝连接 (Connection refused). Retry attempt 0 started
!STACK 0
java.net.ConnectException: 拒绝连接 (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:606)
at org.eclipse.ecf.internal.provider.filetransfer.httpclient4.ECFHttpClientProtocolSocketFactory.connectSocket(ECFHttpClientProtocolSocketFactory.java:86)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:179)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:134)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:612)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:447)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:884)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.performConnect(HttpClientRetrieveFileTransfer.java:1084)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer.access$0(HttpClientRetrieveFileTransfer.java:1075)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientRetrieveFileTransfer$1.performFileTransfer(HttpClientRetrieveFileTransfer.java:1071)
at org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:74)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
!ENTRY org.eclipse.equinox.p2.transport.ecf 4 1002 2020-04-29 18:23:11.678
!MESSAGE Unable to connect to repository http://ics-web.sns.ornl.gov/css/updates/content.xml
!STACK 0
java.net.ConnectException: 拒绝连接 (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:606)
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:120)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:179)
at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:328)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:612)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:447)
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:884)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
at org.eclipse.ecf.provider.filetransfer.httpclient4.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:263)
at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
这次eclipseId=unknown终于没有再出现了。
但是另外出现的两个问题是连接到两个地址失败了。这两个网址猜测应该是和welcome页面相关的
我用浏览器试着打开这两个网址全部都是网页无法运作,无法处理请求。
最后回过头来看,之前找到的那个pdf教程还是适用的。
本文章使用limfx的vsocde插件快速发布