小编Ian*_*rts的帖子

忽略搜索结果中的文件夹

我正在搜索字符串并在源文件夹中获取匹配项,以及构建文件夹(源文件在构建期间被复制到构建中).

我不需要构建文件夹结果.

Vim wildignore有助于过滤掉结果.

intelij中有类似的东西吗?

intellij-idea intellij-14

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

Groovy在GStringImpl上使用equals()和==的结果不同

根据groovy文档,==只是一个"聪明"的equals(),因为它还负责避免NullPointerException.因此,如果对象不为null,则==和equals()应返回相同的值.但是,我在执行以下脚本时遇到意外结果:

println "${'test'}" == 'test'
println "${'test'}".equals('test')
Run Code Online (Sandbox Code Playgroud)

我得到的输出是

true
false
Run Code Online (Sandbox Code Playgroud)

这方面的一个例子可以在这里找到.

这是一个与GStringImpl相关的已知错误还是我缺少的东西?

groovy equals gstring

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

在使用三元运算符(`?`)时,Java是否无法推导出泛型类型参数?

为什么编译器能够确定赋值的泛型类型参数,而不是三元运算符(?)?

我有一个问题,关于编译器能够在"直接"赋值的情况下推导出泛型类型参数,但在三元运算符(?)的情况下失败.我的例子使用了Guava的Optional类来表达我的观点,但我认为潜在的问题是通用的而不仅限于Optional.

Optional有一个通用的功能absent():

public static <T> Optional<T> absent();
Run Code Online (Sandbox Code Playgroud)

我可以指定Optional<T>一个Optional<Double>:

// no compiler error
final Optional<Double> o1 = Optional.absent();
Run Code Online (Sandbox Code Playgroud)

编译器如何实现,在这种情况下T应该Double如此.因为在使用三元运算符(?)时,我需要将编译器专门告诉我们Integer作为通用参数

// Type mismatch: cannot convert from Optional<capture#1-of ? extends Object> to Optional<Integer>
final Optional<Integer> o2 = true
    ? Optional.of(42)
    : Optional.<Integer>absent();
Run Code Online (Sandbox Code Playgroud)

否则我收到以下错误

类型不匹配:无法转换Optional<capture#1-of ? extends Object>Optional<Integer>

为什么"直接"分配和使用三元运算符之间存在差异?或者还有其他我想念的东西?

java generics

17
推荐指数
2
解决办法
1030
查看次数

Collection <?>有什么意义

我一直在阅读Effective Java,我遇到了无界的Collection类型<?>.然而,阅读让我相信你不能把除了之外的任何元素null放入一个实例中Collection<?>.

所以,我的问题是:Collection<?>当我们只能插入null元素时,实例化的目的是什么,因为它似乎毫无意义.我一直试图找出这个概念,但它似乎没有多大意义.任何帮助将非常感激.

java

13
推荐指数
2
解决办法
610
查看次数

如何在groovy/grails中为嵌套对象创建条件?

我需要帮助创建嵌套对象的hibernate标准.例如 :

class office{
    Integer id;
    OfficeDetails cmdData ;
}

class OfficeDetails {
    Integer id;
    Region region;

}

class Region {
    Integer id;
    Integer regionNum;
}
Run Code Online (Sandbox Code Playgroud)

现在,从服务类(officeService),我试图将所有与某个地区相匹配的办公室拉出来:

List<Office> findAllByRegion( Integer regionNumber){
    def criteria =  {  eq ( 'cmdData.region.regionNum', regionNumber ) }
    def allOfficesInTheRegion =  Office.findAll(criteria)

    return allOfficesInTheRegion
}
Run Code Online (Sandbox Code Playgroud)

总是得到异常:"org.hibernate.QueryException:无法解析属性:"我需要找到正确的方法来为此查询创建条件.任何人都可以帮忙吗?

grails hibernate criteria

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

为什么禁止这种未经检查的警告是安全的?

考虑Effective Java泛型章节中UnaryFunction定义的接口.

public interface UnaryFunction<T> {
T apply(T arg);
}
Run Code Online (Sandbox Code Playgroud)

和以下代码返回 UnaryFunction

// Generic singleton factory pattern
private static UnaryFunction<Object> IDENTITY_FUNCTION = new UnaryFunction<Object>() {
  public Object apply(Object arg) { return arg; }
};

// IDENTITY_FUNCTION is stateless and its type parameter is
// unbounded so it's safe to share one instance across all types.
@SuppressWarnings("unchecked")
public static <T> UnaryFunction<T> identityFunction() {
  return (UnaryFunction<T>) IDENTITY_FUNCTION;
}
Run Code Online (Sandbox Code Playgroud)

为什么演员IDENTITY_FUNCTION(UnaryFunction<T>)安全?

这本书说的是我要问的问题,但我不能遵循这里的逻辑.我们在哪里调用apply执行身份操作的函数?我很困惑,因为它是返回传递给它的同一个对象而不修改任何东西的函数.

IDENTITY_FUNCTION (UnaryFunction<T>) …

java generics effective-java

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

嵌套xsl:条件时

我有一个与xsl选择相关的查询,内部xsl选择正在使用现在我有两个xsl:当条件就像下面的hsown

<xsl:choose>
  <xsl:when test=$labcVar=$cde>
    <xsl:when test="$erf=$der">
      <xsl:value-of select="'edr'" />
    </xsl:when>
    <xsl:otherwise>
      <xsl:value-of select="'fre'" />
    </xsl:otherwise>
Run Code Online (Sandbox Code Playgroud)

请告知这是正确的方法,因为inss xsl:when ..我必须只在第一次条件变为真时才开始我唯一应该去第二个xsl:当条件时,请告知它是否已被赋予了aloowed

xslt

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

xpath:查找不同行中具有相同位置的表格单元格

我正在解析包含这样的结构的网页:

<tr>
    <td>Label 1</td>
    <td>Label 2</td>
    <td>Label 3</td>
    <td>Something else</td>
<\tr>
<tr>
    <td>Item 1</td>
    <td>Item 2</td>
    <td>Item 3</td>
<\tr>
Run Code Online (Sandbox Code Playgroud)

我需要做的是根据它的标签选择一个项目,所以我的想法是如果标签位于其行的第3个标签中,我可以抓住下一行中的第3个标签来查找该项目.我无法想出以这种方式使用position()函数的方法,也许xpath(1.0)无法处理这种类型的过滤.

到目前为止,我最好的尝试是://td[ancestor::tr[1]/preceding-sibling::tr[1]/td[position()]].我希望position()函数可以获取<td>xpath开头的位置,因为xpath的其余部分是该节点的过滤器.

我正在努力做甚么可能吗?

html xpath selenium-webdriver

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

ws-security with CXF 使用拦截器

我正在尝试学习 CXF 并希望通过一个简单的 hello world 示例实现 ws 安全性。我按照自下而上的方法创建了一个正在运行的 cxf 服务,并使用soap ui 进行了测试。我写了一个 spring 客户端,它也运行良好。

然后我尝试添加时间戳。我在服务器和客户端 spring bean 配置文件中添加了 WSS4J 和 saaj 拦截器。我关注了这个博客。

cxf-spring-and-ws-security-putting-it

我完全按照相同的步骤操作,并添加了时间戳操作。当我运行客户端时,我得到了这个

我得到这个例外

org.apache.ws.security.WSSecurityException: An error was discovered processing the 
<wsse:Security> header
Run Code Online (Sandbox Code Playgroud)

我的 wsdl 没有任何关于安全性或我添加的拦截器的条目。

SOAP 请求与添加拦截器之前的请求相同。我发现请求中缺少标头。在这种情况下,如何在请求中添加标头?

请检查下面的堆栈跟踪。

ID: 4
Address: http://localhost:8080/HelloWorldWithSecurity/services/HelloWorldImplPort
Encoding: UTF-8
Http-Method: POST
Content-Type: text/xml;charset=UTF-8
Headers: {accept-encoding=[gzip,deflate], connection=[Keep-Alive], Content-Length=[294], content-type=[text/xml;charset=UTF-8], host=[localhost:8080], SOAPAction=[""], user-agent=[Apache-HttpClient/4.1.1 (java 1.5)]}
Payload: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.spring.demo/">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:sayHi>
         <!--Optional:-->
         <arg0>Yamini</arg0>
      </ser:sayHi>
   </soapenv:Body>
</soapenv:Envelope>
--------------------------------------
Sep 21, 2012 10:53:51 AM org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor checkActions …
Run Code Online (Sandbox Code Playgroud)

java cxf

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

从eclipse运行Ant时出现UnsupportedClassVersionError

我正在尝试从eclipse运行一个ant脚本,但它失败并显示以下消息:

BUILD FAILED
project_path/build.xml:5:
java.lang.UnsupportedClassVersionError: com/sun/tools/javac/Main :
Unsupported major.minor version 51.0
Run Code Online (Sandbox Code Playgroud)

但是,当我从命令行(./ant)运行它时,它按预期运行.
环境信息:

  • 操作系统:Linux Mint 64
  • Eclipse:Juno(4.2.1)
  • JDK:Oracle 1.7.0_11
  • Ant(命令行):1.8.2

我还将"Ant Home"(在eclipse设置中)设置为与我在命令行中使用的相同.

我在这个问题上搜索了很多,但我似乎找不到任何有用的东西,我可以尝试卸载我目前已安装的所有java(jdk/jre),然后重新安装java 7,但我不想采取这条路线.

有任何想法吗?谢谢!

java eclipse ant unsupported-class-version

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