小编fla*_*nze的帖子

tableviewer与图像的奇怪对齐和布局

我使用TableViewer两列.第一个应该包含文本,第二个应该包含取决于对象状态的图像.标签提供程序是一个扩展LabelProvider和实现的自定义提供程序ITableLayoutProvider.

如果未显示图像,则布局正确,第一列中的文本与左侧对齐. 正确

但是当显示至少一个图像时,第一列中的文本在右侧和中间之间的某处对齐 - 看起来有点难看.

不正确

布局很简单:

availableDevicesList = new TableViewer(this, SWT.SINGLE | SWT.BORDER
| SWT.FULL_SELECTION);
availableDevicesList.setContentProvider(new ArrayContentProvider());

Table table = availableDevicesList.getTable();
TableLayout tableLayout = new TableLayout();
table.setLayout(tableLayout);

table.setLinesVisible(true);

tableLayout.addColumnData(new ColumnWeightData(3));
new TableColumn(table, SWT.LEFT);
tableLayout.addColumnData(new ColumnWeightData(1));
new TableColumn(table, SWT.RIGHT);
Run Code Online (Sandbox Code Playgroud)

是什么导致这个问题?

swt jface image alignment tableviewer

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

slf4j/logback FileAppender在eclipse工作区中编写

我有一个使用slf4j/logbackeclipse RCP应用程序来捕获所有日志消息.

现在我配置了以下文件appender:

<appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>softmodeler_client.log</file>
    <append>true</append>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <pattern>[%date] %level: %logger - %m%n</pattern>
    </encoder>
</appender>
Run Code Online (Sandbox Code Playgroud)

这会将日志文件写入应用程序安装目录.
某些客户不允许在安装目录中进行写访问.
在这种情况下,我们重定向文件中定义以下内容的工作空间和配置目录Applicationname.ini:

-data
@user.home/AppData/Roaming/Applicationname/workspace
-configuration
@user.home/AppData/Roaming/Applicationname/configuration
Run Code Online (Sandbox Code Playgroud)

现在我想配置logback.xml这样的,将日志文件指向可写工作区目录:

<file>${osgi.instance.area}softmodeler_client.log</file>
Run Code Online (Sandbox Code Playgroud)

FileNotFoundException由于系统属性的file:/前缀,这导致a osgi.instance.area.没有协议,我没有找到另一个属性.

My question is how can I configure logback to write into my workspace, without having to modify the logback.xml every time?

EDIT:
Maybe I can register a listener from where I can set some initial properties?
I would prefer …

java eclipse eclipse-rcp logback slf4j

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

本地文件:// Chrome 或 Edge 中的链接

由于安全原因,在网站中包含file://链接(例如 http://localhost)将不会打开。

在 IE 和 Firefox 中,可以在 IE 的“受信任站点”和“本地 Intranet”中允许此类访问,或者在 Firefox 中配置策略:

在此输入图像描述

我无法在 Chrome 或 Edge 中找到方法。
在网上搜索时,我遇到了诸如--allow-file-access-from-files标志之类的解决方案,但这在 Chrome 77.0 中不起作用。
还有一些扩展可以实现该行为: 启用本地文件链接

我相信一定有一些类似的方式与政策像火狐?

编辑:更新 22.03.2021

Chrome 版本 89.0.4389.90
Edge 版本 89.0.774.57

结果:

不允许加载本地资源:file:///D:/temp/demo.pdf

演示 HTML:

<html>
<body>
    <a href="file://fileserver/demo.pdf">file://fileserver/demo.pdf</a><br/>
    <a href="file:///d:/temp/demo.pdf">file:///d:/temp/demo.pdf</a> extra slash according to https://en.wikipedia.org/wiki/File_URI_scheme
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

firefox google-chrome google-chrome-extension microsoft-edge microsoft-edge-chromium

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

SWT:如何仅使用一个滚动条来滚动两个单独的查看器

我将两个TreeViewers放入 SWT Shell

他们每个人都有自己的滚动条。不过,我想只有一个ScrollbarShell其控制的滚动TreeViewers同时。

我能够找到的唯一示例是在源比较视图中。但是,我看不出他们是如何做到这一点的——我已经尝试弄明白了一段时间。但至少我知道这是可能的。

有什么建议?

编辑

我的最终界面应该在左边有两个TreeViewers和一个Scrollbar来控制它们。

java swt jface scrollbar treeviewer

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

如何配置mvn依赖:在pom.xml中分析

我想mvn dependency:analyze从命令行使用来手动检查依赖关系问题。问题是我找不到在pom.xml. 必须在命令行中提供所有参数。

所以我必须总是使用

mvn dependency:analyze -DignoreNonCompile
Run Code Online (Sandbox Code Playgroud)

什么,我缺少的是设定的方式ignoreNonCompilepom.xml在插件配置。

像这样的东西:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
        <execution>
            <id>analyze</id>
            <goals>
                <goal>analyze</goal>
            </goals>
            <configuration>
                <ignoreNonCompile>true</ignoreNonCompile>
            </configuration>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

但这不起作用。

如果我使用

<goal>analyze-only</goal>
Run Code Online (Sandbox Code Playgroud)

然后在构建期间运行插件,并使用配置。但我不想让它在构建中运行,只能手动请求。并且手动运行不会遵守该参数。

我可以在pom.xmlnamed 中设置一个属性ignoreNonCompile,但这将在构建中设置此参数并手动运行。

有没有办法只配置 的行为mvn dependency:analyze

java xml configuration dependencies maven

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

谷歌播放服务不是最新的

我正在尝试将google admob集成到我的android studio应用中。我在日志中收到以下消息(对于格式,我深表歉意,非常感谢您的协助):

05-30 01:23:47.389 19555-19555/com.example.livingstonlabs.whatsbest I/Ads: Starting ad request.
05-30 01:23:47.430 19555-25051/com.example.livingstonlabs.whatsbest W/GooglePlayServicesUtil: Google Play services out of date.  Requires 9080000 but found 8489470
05-30 01:23:47.430 19555-25051/com.example.livingstonlabs.whatsbest W/Ads: Failed to connect to remote ad request service.
05-30 01:23:47.430 19555-25051/com.example.livingstonlabs.whatsbest W/Ads: Could not start the ad request service.
05-30 01:23:47.505 19555-19555/com.example.livingstonlabs.whatsbest W/GooglePlayServicesUtil: Google Play services out of date.  Requires 9080000 but found 8489470
Run Code Online (Sandbox Code Playgroud)

我假设我的Google Play服务由于某些原因已过时,但我不知道为什么会这样。我最后有“应用插件:'com.google.gms.google-services'”。

build.gradle(项目)

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'
        classpath 'com.google.gms:google-services:3.0.0'


        // NOTE: …
Run Code Online (Sandbox Code Playgroud)

admob google-play-services android-studio

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

Activiti:没有使用密钥部署的进程

no processes deployed with key 'Process_MohitWorkflow'执行时出现异常:

ProcessInstance instance =
runtimeService.startProcessInstanceByKey(workflowName, businessKey, variables);
Run Code Online (Sandbox Code Playgroud)

我的act_re_procdef表中有此工作流程的条目

"Process_MohitWorkflow:1:14";1;" http://www.activiti.org/processdef ";"Mohit Trust";"Process_MohitWorkflow";1;"11";"MyBPMN.bpmn20.xml";"MyBPMN. Process_MohitWorkflow.png";"";FALSE;TRUE;1;"603"

<code>在此处输入图片描述</code>

MyBPMN.bpmn20.xml使用以下代码部署了我的文件:

      public void deployProcessFile(String name, InputStream io, long tenantId) {
        RepositoryService repositoryService = processEngine.getRepositoryService();
        repositoryService.createDeployment()
                .addInputStream(name, io)
                .name(name.substring(0, name.indexOf(".")))
                .enableDuplicateFiltering()
                .tenantId(String.valueOf(tenantId))
                .deploy();
      }
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

Caused by: org.activiti.engine.ActivitiObjectNotFoundException: no processes deployed with key 'Process_MohitWorkflow'
    at org.activiti.engine.impl.persistence.deploy.DeploymentManager.findDeployedLatestProcessDefinitionByKey(DeploymentManager.java:125)
    at org.activiti.engine.impl.cmd.StartProcessInstanceCmd.execute(StartProcessInstanceCmd.java:79)
    at org.activiti.engine.impl.cmd.StartProcessInstanceCmd.execute(StartProcessInstanceCmd.java:37)
    at org.activiti.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:24)
    at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:57)
    at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:31)
    at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:40)
    at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:35)
    at org.activiti.engine.impl.RuntimeServiceImpl.startProcessInstanceByKey(RuntimeServiceImpl.java:81)
    at com.vernuso.trust.server.service.ProcessService.startWorkFlowInstanceForEntity(ProcessService.java:265)
    at com.vernuso.trust.server.service.ProcessService.startOnboardingForOrganisation(ProcessService.java:221)
    at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:70) …
Run Code Online (Sandbox Code Playgroud)

java activiti

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

在Activiti中,如何检查是否设置了变量?

例如,我有一个可以立即启动或延迟(startTime变量)的工作流程.

startEvent我有一个exclusiveGateway地方,我检查流程应该继续或等到startTime.

<exclusiveGateway id="startGateway" default="startSequenceFlow3"/>
<sequenceFlow id="startSequenceFlow1" sourceRef="startGateway" targetRef="startTimer">
    <conditionExpression xsi:type="tFormalExpression"><![CDATA[${startTime != null}]]></conditionExpression>
</sequenceFlow>
Run Code Online (Sandbox Code Playgroud)

启动传递变量的工作流startTime可以正常工作,但不传递startTime抛出异常:

无法解析标识符'startTime'

什么是检查是否startTime设置的最佳方法,因为startTime != null不起作用?我宁愿不传球startTime(不是startTime=null).

我使用的代码包括变量:

variables.put("startTime", startTime);
ProcessInstance instance = runtimeService.startProcessInstanceByKey(processKey, variables);
Run Code Online (Sandbox Code Playgroud)

或没有:

ProcessInstance instance = runtimeService.startProcessInstanceByKey(processKey, variables);
Run Code Online (Sandbox Code Playgroud)

java workflow activiti

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

无法找到适当类型的密钥来解密 AP REP - 使用 HMAC SHA1-96 的 AES256 CTS 模式

我有一个带有 Spnego SSO 设置的 tomcat 服务器,它运行良好,没有任何问题。现在我想在它前面添加一个 Apache 服务器以启用 SSL。Apache服务器使用AJP与其通信:

<VirtualHost *:58443>
  SSLEngine on
  ServerName ca09417d.global.local:58443
  SSLCertificateFile "${SRVROOT}/conf/ssl/ca09417d.server.cer"
  SSLCertificateKeyFile "${SRVROOT}/conf/ssl/ca09417d.server.key"
 ...
  ProxyRequests off
  ProxyPreserveHost On
  ProxyPass /vcaps3 ajp://cavcdbdev02:58009/vcaps3
  ProxyPassReverse /vcaps3 ajp://cavcdbdev02:58009/vcaps3   
</virtualhost>
Run Code Online (Sandbox Code Playgroud)

之后,服务器抱怨这个错误:

KrbException: Invalid argument (400) - Cannot find key of appropriate type to decrypt AP REP - AES256 CTS mode with HMAC SHA1-96
sun.security.krb5.KrbApReq.authenticate(KrbApReq.java:278)
sun.security.krb5.KrbApReq.<init>(KrbApReq.java:149)
sun.security.jgss.krb5.InitSecContextToken.<init>(InitSecContextToken.java:108)
sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:829)
sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:342)
sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:285)
sun.security.jgss.spnego.SpNegoContext.GSS_acceptSecContext(SpNegoContext.java:906)
sun.security.jgss.spnego.SpNegoContext.acceptSecContext(SpNegoContext.java:556)
sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:342)
sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:285)
net.sourceforge.spnego.SpnegoAuthenticator.doSpnegoAuth(SpnegoAuthenticator.java:444)
net.sourceforge.spnego.SpnegoAuthenticator.authenticate(SpnegoAuthenticator.java:283)
net.sourceforge.spnego.SpnegoHttpFilter.doFilter(SpnegoHttpFilter.java:229)
Run Code Online (Sandbox Code Playgroud)

所以我尝试了这些事情:

  • 确保我的 JDK 可以执行 AES 256
  • 登录Apache本地,它成功了,因为我有这样的设置:
    spnego.allow.localhost =true
  • 检查双方服务器日志,没有发现任何内容
  • Apache失败后我仍然可以直接在tomcat服务器上使用SSO

现在我不知道应该做什么来解决它。

  • 我的tomcat版本是8.5.32 …

apache kerberos aes spnego

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

Eclipse 更新 2021-03 后 git auth 失败

在最近的 Eclipse 更新 2021-03 之后,所有 bitbucket.org 存储库都无法再拉/推:

Pulling 1 repository
   git@bitbucket.org:Acountxxx/Repoxxx.git: Cannot log in at bitbucket.org:22
   git@bitbucket.org:Acountxxx/Repoxxx.git: Cannot log in at bitbucket.org:22
Run Code Online (Sandbox Code Playgroud)

我尝试在一个新的工作区中克隆存储库,也使用 ssh:

URI:ssh://bitbucket.org/REPOxxxx.git
主机:bitbucket.org
存储库路径:REPOxxxxx.git 协议:ssh
端口:空白
用户:空白
密码:空白

遇到同样的异常:

ssh://bitbucket.org:Acountxxx/Repoxxx.git: Cannot log in at bitbucket.org:22
Run Code Online (Sandbox Code Playgroud)

在CMDgit pullgit push仍然做工精细。

有没有人遇到同样的问题并找到解决方案?

环境:
Windows 10
git 版本 2.30.1.windows.1
Eclipse 2021-03
EGit:5.11.0.202103091610-r

编辑:同样有趣的是,来自 github 的其他存储库仍然可以正常工作。此行为对于 bitbucket 上的私有和公共存储库是相同的。

eclipse git ssh bitbucket egit

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