小编GGr*_*rec的帖子

Eclipse RCP - 在编辑器区域打开视图(3.8/e4混合)

我正在研究3.8-e4混合(即我们有Luna依赖,但我们还没有使用Application.e4xmi).所以我们基本上运行了紧凑的图层.

话虽如此,找到一种e4编程方式将这些讨厌的视图堆叠到编辑器文件夹上会很不错.


1.)问题

我想在编辑器区域中放置一个通用视图文件夹,以便在那里打开在运行时打开的每个视图.

查看编辑器文件夹

(图片从这个问题中被盗)


2.1)可能的修复1:使用plugin.xml

创建透视扩展,并将每个可能的视图添加到该扩展,并将关系堆栈放在相对的org.eclipse.ui.editorss上.如果你有太多的视图要打开,并且项目可以快速扩展,那么这有点不方便.我还注意到通配符视图ID在这里不起作用.

带有透视扩展的plugin.xml的SS

如果您发现自己有时间将每个可能的视图添加到透视图扩展中,那就可以了.虽然,如果您打开一个未在此处添加的视图(即:在另一个文件夹中打开),则每个后续打开的视图将在上一个文件夹中打开,而不是在编辑器区域中打开(如果不是,请查询更多说明)得到它).


2.2)可能的修复2:在透视工厂中使用代码

IPerspectiveFactory,我们有权访问IPageLayout,恰好是org.eclipse.ui.internal.e4.compatibility.ModeledPageLayout(e4的东西).

现在,这种ModeledPageLayout实现是合理的,但也没有文档和奇怪的公共API.这个可以将视图叠加在任何其他亲属上

modeledPageLayout.stackView("newView0", IPageLayout.ID_EDITOR_AREA);
Run Code Online (Sandbox Code Playgroud)

这将是2.1的程序化版本.此外,这里出现同样的问题.如果在其他地方打开视图,则上面的代码变得无用.

有趣的是,stackViewAPI不支持通配符(而其他的如此addView).


2.3)可能的解决方案3:解决方法yaaay!

我有很多观点,每个都有很多不同的文件夹.一切都准确无误.

由于Eclipse提供的API可以从系统周围的任何地方获取所有视图ID,因此我希望按照透视图执行以下操作:未添加到特定文件夹的每个视图ID都将附加到编辑器区域(即编辑器文件夹) ,编辑堆栈).

这将是我的最后手段,除非有人提供更方便和省时的解决方案.

请记住,e4程序化替代方案更灵活!


3.)相关问题

这些将在e4版本中弃用.


4.)Eclipse Bugzilla上的相关错误:

我最近打开的这个错误附带了一个小型SSCCE.此评论中描述了重现此步骤的步骤,因此我不打算将它们复制粘贴到此处.

java eclipse-plugin eclipse-rcp e4 eclipse-luna

105
推荐指数
1
解决办法
4319
查看次数

XStream的安全框架未初始化,XStream可能容易受到攻击

Security framework of XStream not initialized, XStream is probably vulnerable

使用XStream(1.4.10)时,我一直将此控制台错误显示为红色

我尝试了以下方法:

XStream.setupDefaultSecurity(xs);

xs.addPermission(AnyTypePermission.ANY); xs.addPermission(NoTypePermission.NONE);

没有一个摆脱它.

我不需要任何花哨的安全设置,我只想沉默那个警告.也许还准备1.5.x的代码

java xstream

25
推荐指数
2
解决办法
2万
查看次数

在Eclipse RCP Tycho应用程序中使用第三方库

我根据vogella广泛的Tycho教程创建了一个锅炉板项目.

在此输入图像描述

事实:

  • 没有功能,也没有插件.唯一的插件是RCP应用程序,它也是入口点.

问题:

  • 我不知道在哪些内容中pom.xml包含第三方依赖项.

  • 不能将它们包含在RCP项目中,因为那个pom的包装是eclipse-plugin,而不是jar.根据我的注意,如果我将包装更改为jar,则会自动添加"Maven Dependencies"库.如果我改回去eclipse-plugin,他们会被删除.

问题:

  • 我在哪里添加依赖项?jar我的项目中没有包装包装.
  • 我应该用必要的JAR创建一个单独的项目吗?如何将该依赖项包含在整个项目中?
  • 为这个RCP应用程序创建单独的插件和功能真的是一个很好的做法吗?

相关解决方案

  • "更新项目"不起作用,其他SO问题中的其他解决方案也不起作用.
  • 还有这个问题那个问题,但我没有完全得到答案

java eclipse-plugin eclipse-rcp tycho maven

12
推荐指数
1
解决办法
1674
查看次数

Maven NatTable清理+安装失败

我正在尝试导入和解析NatTable项目的开发人员项目,如他们的入门教程中所述.

我收到以下错误mvn -f [path to pom] clean install:

线程"main"中的异常java.lang.NoSuchMethodError:org.apache.maven.execution.MavenSession.getRepositorySession()Lorg/sonatype/aether/RepositorySystemSession;

更多细节:

  • mvn --version 工作良好
  • %MAVEN_HOME% 指向[devel] /maven-3.1.0

java eclipse tycho maven nattable

10
推荐指数
1
解决办法
4050
查看次数

JavaFX LineChart - 由于Axis的类型而导致ClassCastException

如何从FXML文件中指定图表的轴类型?它似乎是默认类型<String, Integer>.如果我将我的可注射字段声明为LineChart<Number, Number> lineChart,并且我创建了一个数据系列(Number, Number,则该程序会抛出一个ClassCastException.

必须使用FXML文件.最糟糕的情况是我手动创建了我的图表.我最好的猜测是这是一个错误.


import java.io.IOException;
import java.net.URL;
import java.util.ResourceBundle;

import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.chart.LineChart;
import javafx.scene.chart.XYChart;
import javafx.scene.layout.AnchorPane;

/**
 * 
 * @author ggrec
 *
 */
public class TestChart implements Initializable
{

    // ====================== 2. Instance Fields =============================

    @FXML
    private LineChart<Number, Number> testChart;

    private AnchorPane anchorPane;


    // ==================== 4. Constructors ====================

    public TestChart()
    {
        final FXMLLoader fxmlLoader = new FXMLLoader( TestChart.class.getResource("testChart.fxml") );
        fxmlLoader.setController(this);

        try
        {
            anchorPane = …
Run Code Online (Sandbox Code Playgroud)

java javafx

8
推荐指数
1
解决办法
5538
查看次数

SWT Shell会根据孩子的大小调整大小

我在这个Composite画布上工作,Composite可以添加和删除其他s.

我对整个布局概念仍处于迷雾中的理解.

当孩子被添加到容器中时,考虑到容器中有一个GridData填充父级的事实,父母是否也应该知道孩子的大小调整?由于shell(顶级父级),因此在容器布置后,子项仍然隐藏.

如果问题太模糊,请不要犹豫,询问更多细节.另外,请尽量不要将我指向SWT文章中的" 理解布局 ".

/**
 * 
 * @author ggrec
 *
 */
public class SSCCE
{

    // ==================== 2. Instance Fields ============================

    private Composite componentContainer;

    private int componentCount = 0;

    // ==================== 3. Static Methods =============================

    public static void main(final String[] args)
    {
        new SSCCE();
    }

    // ==================== 4. Constructors ===============================

    private SSCCE()
    {
        final Display display = new Display();
        final Shell shell = new Shell(display);
        shell.setLayout(new GridLayout(1, false));

        createContents(shell);

        shell.pack(); …
Run Code Online (Sandbox Code Playgroud)

java swt jface eclipse-rcp

5
推荐指数
1
解决办法
1万
查看次数

SWT Shell KeyListener

1.)目标

OSX的文件快速预览小部件.基本上,在Mac上,当您选择文件并按空格键时,您可以快速预览该文件.我正在尝试使用SWT + JFace(mmmaybe JavaFX)复制该功能.

Shell对我来说很合适.

Mac快速预览截图


2.)具体细节

  • 预览小部件将APPLICATION_MODAL Shell附加到StructuredViewer.

  • Shell每次打开预览时我都不想重新创建.我只想隐藏它.这应该是一个快速预览.

  • 我希望能够关闭这个ShellESCSPACE.

  • 我处理许多类型的文件(PDF,JPEG,PNG,TXT等),因此每个文件都有自己的预览组件.该Shell知道如何将这些组件之间进行切换.

  • 此组件可能无法修改任何文件,只需预览它们即可.我用来构建预览的组件是另一个故事.


3.)问题

  • 由于Shell有直接的孩子,这些孩子可能会"偷"焦点并抓住KeyEvents.因此,Shell不知道如何关闭键盘事件.

  • 我不想添加Display过滤器.每次显示/隐藏时,我都必须添加/删除它们Shell.另外,这些是非常危险的,因为它是一个巨大的RCP应用程序,它可能会影响其他工作台部件(如果由于某种原因没有删除过滤器).


4.)SSCCE

在下面的示例中,您可以观察到一旦Text具有焦点,Shell就无法抓回焦点,并且不会再将键事件泵入其中.

/**
 * 
 * @author ggrec
 *
 */
public class SSCCE_ShellWithShellParent
{

    // ==================== 1. Static Fields ========================

    private static final int CHILD_SHELL_STYLE = SWT.BORDER | SWT.RESIZE | SWT.TITLE | …
Run Code Online (Sandbox Code Playgroud)

java swt javafx jface eclipse-rcp

5
推荐指数
1
解决办法
1554
查看次数

Vue TypeError _vm不是函数

在我的Vue的组件,叫做Home.vue,我包括这谷歌地图插件,如下

<GmapMap
 :center="{lat: 45.919849, lng: 25.0203875}"
 :zoom="7"
   map-type-id="terrain"
  style="width: 100%; height: 600px"
   >
<GmapMarker
:key="markerIdx"
v-for="(m, markerIdx) in results"
:position="getMarkerPosition(m.locationCoordinates)"
:clickable="true"
:draggable="false"
/>
</GmapMap>
Run Code Online (Sandbox Code Playgroud)

该对象results来自父标记,并且m.locationCoordinatesString。该:positionGmapMarker需求JSON对象。我正在定义一个getMarkerPosition函数来将该字符串转换为JSON,就像这样

export default {
      methods: {
   getMarkerPosition: function (coordinateString) {
          let split = coordinateString.split(',')
           return {
            lat: parseFloat(split[0]),
            lng: parseFloat(split[1])
            }
     }
  }
  }
Run Code Online (Sandbox Code Playgroud)

但我最终出现浏览器错误提示

TypeError: _vm.getMarkerPosition is not a function
 at eval (eval at ./node_modules/vue-loader/lib/template-compiler/index.js?            
 {"id":"data-v-8dc7cce2","hasScoped":false,"transformToRequire":{"video": 
  ["src","poster"],"source":"src","img":"src","image":"xlink:href"},"buble": 
 {"transforms":{}}}!./node_modules/vue-loader/lib/selector.js? 
 type=template&index=0!./src/components/Home.vue …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps vue.js vue-component vuejs2

5
推荐指数
1
解决办法
6767
查看次数

Alpine 使用 jdk11 作为基础 docker 镜像

我有一个Dockerfile由许多服务使用的基础,如下所示:

FROM adoptopenjdk/openjdk11:jdk-11.0.11_9-alpine-slim
Run Code Online (Sandbox Code Playgroud)

Linux Alpine有一些安全修复程序,我想将它们包含在我的基础映像中。在AdoptOpenJDK 的官方页面上寻找新图像时,我发现这些标签自 2021 年 8 月 1 日起已被弃用,取而代之的是Eclipse Temurin项目。

Eclipse Temurin 没有基于 alpine 的 jdk11 镜像。难道我...

  1. 使用 Temurin 的 11-jdk-focal?
  2. 构建我自己的 alpine 镜像并添加 jdk11 到其中?
  3. 使用任何其他替代提供商?

参考:

java eclipse docker alpine-linux openjdk-11

4
推荐指数
1
解决办法
1万
查看次数

Eclipse RCP Internationalization独立插件

没有教程提供了如何创建国际化插件片段的具体示例.我需要翻译到plugin.xml和源代码文件.试着把头转过去翻译的地方,以及i18n门面的去处.

1.该片段如何应用于多插件企业应用程序,更重要的是,所有这些插件如何将其字符串外部化到片段中的相应文件夹中?

2. 外部JAR怎么样?该机制如何为外部资源提供翻译支持?

3.有远程风险,是否可以提供a viewperspective?的独立翻译?不一定是在运行时,因为我知道bundle无法动态切换.

java eclipse rcp eclipse-plugin internationalization

3
推荐指数
1
解决办法
976
查看次数