小编s.d*_*s.d的帖子

如何在Eclipse下载站点上找出哪个功能包含所需的插件

在针对目标平台开发RCP应用程序时,我(和其他人)经常遇到需要从Eclipse发布软件站点添加的依赖项.每当插件包含在我的IDE中,但不在我的目标平台中,并且我尝试从产品定义中运行应用程序时,我会看到一个警告屏幕,通知我这样的捆绑包无法解析.

"没问题,只需将包含插件的功能从Eclipse下载站点添加到目标平台,并将所需的插件添加到插件项目/功能项目中,无论如何......"

但是,AFAIK,没有简单的方法(例如,网站)来找出哪个功能包括哪个插件.例如,为了添加org.eclipse.ui.views.properties.tabbed,我需要知道该插件包含在该Eclipse Platform SDK功能中(以及其他).

到目前为止,我还没有找到一种简单的方法来找出哪个功能包含哪个插件.我通常开始使用Google搜索插件名称,并尝试在搜索结果中查找教程或类似内容,这可能会告诉我要包含哪些功能才能访问插件.当然,这可能是单调乏味的.

所以我的问题是:是否有更好的,甚至是官方的(或管理的)方式来快速简单地找到这些信息?

eclipse plugins eclipse-rcp update-site target-platform

28
推荐指数
1
解决办法
5479
查看次数

在Mac OS X上的Java Swing JComponent中渲染Devanagari连字(Unicode)

我试图在Mac OS X 10.6上正确渲染Devanagari连字(在Unicode字符串中).

字符串在a上绘制JComponentRenderingHints用于抗锯齿.连字在Windows XP SP2和7以及Ubuntu中正确显示,但在Mac OS X中,连字被分解(或者更确切地说,没有正确合并),变音符被移离其位置等等(参见下面的截图,正确的渲染示例来自左侧的Win XP SP2(使用RenderingHintsAntialiasing键ON),右侧的Mac OS X 10.6.7中的错误渲染示例(Antialising DEFAULT= OFF).

我已将字体设置如下,因此它应该在任何系统上使用默认字体:

new Font(null,Font.PLAIN,20);
Run Code Online (Sandbox Code Playgroud)

我相信所有这些可能与Macs上的默认字符编码是MacRoman(不是UTF-8子集)以及其他系统(如Windows)使用UTF-8子集(例如WinLatin-1)这一事实有关. )或cp1252等.

即使掌握了这些信息,我也不知道如何处理这个问题.因此,如果有人能指出我正确的方向,我将非常感激.

正确和错误地呈现相同的字符串

我已经尝试了很多东西:

  • 将字体设置为Devanagari MT并没有解决问题
  • TextAttribute LIGATURES_ON 没有解决问题

我非常感谢任何提示或其他开发人员的代码片段(最好是在Mac上开发的印地语背景).

java unicode macos rendering ligature

22
推荐指数
2
解决办法
2204
查看次数

KeyListener如何检测组合键(例如,ALT + 1 + 1)

我怎样才能让我的自定义KeyListener听取ALT(或者CTRL说那个)+多个其他键的组合?

假设我希望应用程序执行11个不同的操作,具体取决于按下的键的组合.ALT + 0- ALT + 9显然不会造成任何问题,而对于ALT + 1 + 0(或"ALT + 10",因为它可以在帮助文件或类似文件中描述),我无法在网络上(或在我脑海中)的任何地方找到一个好的解决方案.我不相信这种带定时器的解决方案是唯一可行的方法.

提前一百万感谢您的任何建议!

编辑:操作0-9 +操作10 = 11个操作.谢谢@ X-Zero.

java swing combinations keyevent keylistener

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

如何验证log4j2是通过LMAX disruptor异步记录的?

我正在开发一个Eclipse RCP应用程序,并且已经付出了一些努力让log4j2在应用程序中运行.现在一切似乎工作正常,作为画龙点睛,我想让所有记录器异步.

我已经设法在类路径上获得LMAX Disruptor,并认为我已经解决了提供的问题sun.misc.-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector在运行配置中设置VM参数,并正确设置log4j2.xml文件.我想.这就是问题所在.我希望能够以正确的方式验证我的应用程序以异步方式记录,因此我可以享受延迟方面的好处.

我怎么能 - 然后 - 在过程中利用LMAX Dirsuptor验证我的记录器是否异步工作?

java logging asynchronous log4j log4j2

15
推荐指数
2
解决办法
5278
查看次数

如果有变化,如何让Jenkins git提交?

我有一个Jenkins作业,它使用Maven(mvn clean install)从github.com存储库的主分支构建,然后检查Java文件中的许可证头和缺少的NOTICE文件,并在必要时添加它们(mvn license:format notice:generate).有时这会导致更改或添加文件,有时不会.

每当有已作出(由许可证插件)的任何改变我要推更改到GitHub库.

现在我无法弄清楚如何最好地实现这一目标.我在Maven许可插件之后添加了一个shell构建步骤,执行git命令:

git add . # Just in case any NOTICE files have been added
git commit -m "Added license headers"
Run Code Online (Sandbox Code Playgroud)

git add .单独工作,即不会破坏构建,即使没有添加任何文件.但是,git commit如果根本没有任何更改,请中断构建.

我不担心回到github,因为我相信Git Publisher的后期构建操作可以为我做这件事.有人可以指点我正确的git提交方向吗?

git bash build jenkins

11
推荐指数
3
解决办法
7610
查看次数

如何使Eclipse和Tycho的JUnit4 + Hamcrest 1.3 + Mockito工作

我已经设法让JUnit 4.12 + Hamcrest 1.3 + Mockito 2.8.47Eclipse中工作,这样当我将它们作为依赖项添加时,我的测试就会运行.

(我这样做的方法是使用p2-maven-plugin将Maven Central中的以下工件捆绑到插件/功能中并通过P2提供它们:

  • junit 4.12
  • org.mockito.mockito-core 2.8.47
  • org.hamcrest.all 1.3.0

将插件作为依赖项添加到我的测试片段使得测试在Eclipse中运行.

但是,相同片段的Tycho构建将失败,并显示以下消息:

java.lang.LinkageError: loader constraint violation: loader (instance of org/eclipse/osgi/internal/loader/EquinoxClassLoader) previously initiated loading for a different type with name "org/hamcrest/Matcher" 
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:273)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:632)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:586)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:538)
at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:525)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:325)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:345)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:423)
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:357)
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:12)
at org.junit.Assert.assertThat(Assert.java:956)
at org.junit.Assert.assertThat(Assert.java:923)
Run Code Online (Sandbox Code Playgroud)

所以似乎其他一些插件正在我的片段 …

eclipse junit hamcrest mockito tycho

7
推荐指数
1
解决办法
433
查看次数

哪个系统组件负责在Java应用程序中绑定Unicode连接?

这是一个"元问题",当我试图为我的另一个问题找到更好的规范时,我遇到了这个问题(在Mac OS X上的Java Swing JComponent中渲染Devanagari连字符(Unicode)).

到目前为止我还不太了解的是给定系统的哪个"组件"(想要更好的词)负责在Java中显示Unicode文本,更具体地说是连字.

据我了解,以下组件对流程有影响:

  1. 系统字符编码(例如,Mac OS X 10.6上的UTF-8,Windows 7上的UTF-16(根据akira对此superuser.com帖子的评论)).
  2. Java Charset(默认情况下是Mac OS X 10.6上的MacRoman,Windows 7上的cp1252).
  3. 用于呈现文本的字体,以及该字体的编码信息(正如Donal Fellows在我的另一个问题上所建议的那样:

    "字体包含有关他们正在使用的编码的信息".

  4. 显然,要呈现的字符是否存在于各自的Unicode代码点.

因此,如果一串Unicode字符无法正确显示(如我的另一个问题所示,sa),问题最可能出在哪里?即,什么"组件"(更好的词会是什么?)负责"绑定"结扎,它的组成?

非常感谢您提前,如果您需要更多信息,请告诉我.

java unicode rendering system character-encoding

6
推荐指数
1
解决办法
731
查看次数

假设未更改的文件未出现在EGit暂存视图中

有没有办法找到我设置为“假定不变”的文件?

我已经修改了几个文件并希望将其拉出,因此我将它们设置为“假定未更改”。现在,我已经完成并想提交,但是它们没有出现在Git Staging中窗口中。

我使用Eclipse 4.4.2。

eclipse git egit

6
推荐指数
2
解决办法
3512
查看次数

在Windows上使用Tycho构建的Eclipse RCP应用程序的Mac分发无法启动

我用Tycho构建了一个Eclipse RCP应用程序(Indigo).构建在Win 7,64位机器上运行.

父POM包括:

<plugin>
  <groupId>org.eclipse.tycho</groupId>
  <artifactId>target-platform-configuration</artifactId>
  <version>${tycho-version}</version>
  <configuration>
  <resolver>p2</resolver>

  <environment>
    <os>linux</os>
    <ws>gtk</ws>
    <arch>x86_64</arch>
  </environment>
  <environment>
    <os>win32</os>
    <ws>win32</ws>
    <arch>x86_64</arch>
  </environment>
  <environment>
    <os>macosx</os>
    <ws>cocoa</ws>
    <arch>x86_64</arch>
  </environment>

...
Run Code Online (Sandbox Code Playgroud)

产品配置如下所示(有一些遗漏和可读性的额外换行符):

<product name="My App" uid="myapp.product" id="myapp.core.product" application="myapp.core.application" version="0.1.4.qualifier" useFeatures="true" includeLaunchers="true">

   <configIni use="default">
   </configIni>

   <launcherArgs>
      <programArgs>-data @noDefault</programArgs>
      <vmArgsMac>-XstartOnFirstThread
                         -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
   </launcherArgs>

   <launcher name="myapp_0_1_4">
      <solaris/>
      <win useIco="false">
         <bmp/>
      </win>
   </launcher>

   <vm>
      <macos include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6</macos>
   </vm>

   <plugins>
      <plugin id="com.ibm.icu"/>
      <plugin id="myapp.core"/>
      <plugin id="org.eclipse.core.runtime"/>
      <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
      <plugin id="org.eclipse.equinox.app"/>
      <plugin id="org.eclipse.equinox.common"/>
      <plugin id="org.eclipse.osgi"/>
      <plugin id="org.eclipse.swt"/>
      <plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true"/>
      <plugin id="org.eclipse.ui"/> …
Run Code Online (Sandbox Code Playgroud)

macos p2 eclipse-rcp tycho

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

是否可以循环设置器和吸气剂?

我相信这不可行,但我还是想问,以防万一我错了:

我曾经多次听说,每当你在一批中有一定数量的非常相似的代码行时,你应该总是循环遍历它们.

所以说我有类似以下的东西.

setPos1(getCard1());
setPos2(getCard2());
setPos3(getCard3());
setPos4(getCard4());
setPos5(getCard5());
setPos6(getCard6());
setPos7(getCard7());
setPos8(getCard8());
setPos9(getCard9());
setPos10(getCard10());
setPos11(getCard11());
setPos12(getCard12());
Run Code Online (Sandbox Code Playgroud)

没有办法减少代码行,例如,在下面,对吧?

for (i = 0; i < 12; i++) {
setPos + i(getCard + i)());
}
Run Code Online (Sandbox Code Playgroud)

我确信在某个地方之前会有人问这个问题,但Google和SO Search都没有提出否定证据.

感谢您快速确认!

java loops getter-setter

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