小编ATr*_*bka的帖子

Gradle eclipse任务没有添加适当的gradle性质

我有以下项目结构:

  • root-gradle(build.gradle)
    • project-group1(没有构建文件)
      • project1(build.gradle)
      • project2(build.gradle)
      • ...
    • project-group2(没有构建文件)
      • ...

碰巧我必须经常重新创建Eclipse项目.我运行命令:

gradle cleanEclipse eclipse
Run Code Online (Sandbox Code Playgroud)

经过多次运行后,"eclipse"任务停止按预期工作.也就是说,它不再为项目添加gradle性质,也不会识别

sourceCompatibility = 1.6
Run Code Online (Sandbox Code Playgroud)

再试图用1.8版本的Java构建所有东西.

我将以下内容添加到root build.gradle中:

allprojects {
    sourceCompatibility = 1.6
    eclipse.project {
        natures 'org.springsource.ide.eclipse.gradle.core.nature'
    }
    // more stuff here ...
}
Run Code Online (Sandbox Code Playgroud)

这有助于根项目,但对任何其他项目没有影响.我向子项目添加了同样的东西,但结果不尽如人意.我要说的是,即使在将性质添加到根项目并且Gradle插件选项再次可用于root后,我仍然看不到"G"图标.

所以看起来我有2个gradle设置问题.

  1. gradle性质的消失.运行几次后,Eclipse停止识别gradle项目.如果能正常工作,我甚至不会面临第二个问题.

  2. 我的gradle构建文件或项目布局的一些问题,因为我的设置似乎没有对子项目生效.

  3. 缺少已恢复Gradle性质的项目的"G"图标.

任何帮助将不胜感激!

java eclipse gradle gradle-eclipse build.gradle

12
推荐指数
2
解决办法
6820
查看次数

Gilead更换将GWT和Hibernate粘合在一起

直到最近,Gilead看起来是将GWT和Hibernate粘合在一起的最佳解决方案.不幸的是,Gilead项目似乎已被放弃,并没有升级为新的GWT 2.5,这使我们寻找替代品.

您是否知道任何新项目基本上与Gilead为旧版GWT做的事情相同?

java gwt hibernate gilead

9
推荐指数
1
解决办法
3154
查看次数

有没有办法让Java lambda表达式不能引用封闭对象?

当使用lambda表达式时,Java实际上会创建一个匿名(非静态)类.非静态内部类始终包含其封闭对象的引用.

当从另一个库中调用此lambda表达式时,该表达式可能在另一个进程中调用lambda,调用因未找到类异常而崩溃,因为它无法在另一个进程中找到封闭对象的类.

考虑这个例子:

public class MyClass {
    public void doSomething() {
        remoteLambdaExecutor.executeLambda(value -> value.equals("test"));
    }
}
Run Code Online (Sandbox Code Playgroud)

Java将创建一个匿名内部类,它实现某些功能接口并将其作为参数传递给executeLambda().然后remoteLambdaExecutor将整个进程中的匿名类进行远程运行.远程进程对MyClass一无所知,会抛出

java.lang.ClassNotFoundException: MyClass
Run Code Online (Sandbox Code Playgroud)

因为它需要MyClass用于封闭对象引用.

我总是可以使用API​​所期望的功能接口的静态实现,但这会破坏目的并且不会使用lambda功能.

有没有办法用lambda表达式来解决它?

更新:我不能使用静态类,除非它以某种方式导出到其他进程.

java lambda

9
推荐指数
1
解决办法
434
查看次数

Spring Security SAML2 为它们动态选择 IDP 或动态 URL

我们正在尝试在应用程序中配置多个身份提供者以支持不同类型的 SSO。问题在于,对于未经身份验证的请求,应用程序不知道要重定向到哪个 IDP。我们可以根据域名确定使用哪个IDP。那不是问题。问题是更改过滤器重定向到该特定 IDP 的方式,而不是第一个找到的 IDP。

我想知道是否有一种简单的方法可以在 Spring Security 或其 SAML2 库中支持它。

我可以以某种方式修改元数据以将其重定向到我自己的 URL(然后在那里有一些自定义代码),或者让身份验证过滤器根据某些标准选择正确的 IDP。

更新

当前 yaml 配置:

spring:
  security:
    saml2:
      relyingparty:
        registration:
          idpone:
            identityprovider:
              entity-id: https://idpone.com
              sso-url: https://idpone.com
              verification: 
                credentials:
                - certificate-location: "classpath:saml/idpone.crt"
          idptwo:
            identityprovider:
              entity-id: https://idptwo.com
              sso-url: https://idptwo.com
              verification: 
                credentials:
                - certificate-location: "classpath:saml/idptwo.crt"
Run Code Online (Sandbox Code Playgroud)

java spring spring-security saml-2.0 spring-security-saml2

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

Java StAX解析器无法解析有效的xml

家伙.

我花了很多时间试图了解这是一个错误还是我自己缺乏教育.基本上,我正在尝试对特定元素做出反应,并使用Java StAX API使用Transformer读取其内容.

当XML格式相当或元素之间有空格时,一切都有效.但是,只要它看到XML在元素之间没有空白字符,它就会严重破坏.

有代码及其输出来说明问题.

有3个示例XML,前2个显示2个不同的中断场景,而最后一个显示正确的处理:

  • 在没有空格的第一个场景中,它会跳过一些元素.在下面的示例中,它跳过除一个"node"元素之外的所有元素.在现实世界中,它会跳过其他每个节点.可能是因为节点内容更丰富.

  • 在第二个场景中,我仅在节点元素之间添加了空格.如您所见,它无法正确处理文档的结尾.

  • 在上一个场景中,我在最后一个节点和关闭根元素之间添加了空格.处理按需要进行.

在我的真实世界场景中,我期望单行无分隔符XML,因此我需要方案1正常工作,并且也很高兴知道对XML的有效更改(例如在元素之间添加空格)不会破坏处理比如场景2.

请帮忙!!!

完整的单类应用程序测试代码.StAXTest:

package test;

import java.io.StringReader;
import java.io.StringWriter;

import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamReader;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stax.StAXSource;
import javax.xml.transform.stream.StreamResult;

public class StAXTest {
    private final static String XML1 = "<root><node></node><node></node></root>";
    private final static String XML2 = "<root><node></node> <node></node></root>";
    private final static String XML3 = "<root><node></node> <node></node> </root>";

    public static void main(String[] args) throws Exception {
        processXML(XML1);
        processXML(XML2);
        processXML(XML3);
    }

    private static void processXML(String xml) {
        try …
Run Code Online (Sandbox Code Playgroud)

java stax xml-parsing

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

访问 JMeter HTTP 请求默认值

我正在使用 HTTP 请求默认设置为一组请求设置主机和端口。我想访问 cookie 域的相同主机值。有没有办法引用那个特定的变量?

也许像这样的东西?

${DEFAULT_HOST}
Run Code Online (Sandbox Code Playgroud)

jmeter

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