小编Jos*_* MN的帖子

无法使用Gradle运行Scalatest

task scalaTest(dependsOn: testClasses) << {
    description = 'Runs Scalatest suite'
    ant.taskdef(name: 'scalatest',
            classname: 'org.scalatest.tools.ScalaTestAntTask',
            classpath: sourceSets.test.runtimeClasspath.asPath
    )
    ant.scalatest(runpath: sourceSets.test.output.classesDir,
            haltonfailure: 'true', fork: 'false') {
        reporter(type: 'stdout')
    }
}
Run Code Online (Sandbox Code Playgroud)

我跑了gradle scalaTest,我得到:

* What went wrong:
Execution failed for task ':scalaTest'.
> java.lang.NoClassDefFoundError: scala/reflect/ClassManifest$
Run Code Online (Sandbox Code Playgroud)

我正在使用Scala 2.10.2和Gradle 1.7

dependencies {
    compile 'org.scala-lang:scala-library:2.10.2'   
    testCompile 'org.scalatest:scalatest:1.3'
    testCompile 'org.scalamock:scalamock_2.10:3.0.1'
}
Run Code Online (Sandbox Code Playgroud)

怎么了??

scala gradle scalatest

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

存储Exception实例并重用它是否安全?

是否安全:

public class Widget {

    private static final IllegalStateException LE_EXCEPTION
            = new IllegalStateException("le sophisticated way");

    ...

   public void fun() {
      // some logic here, that may throw
      throw LE_EXCEPTION;
   }

   ....
}
Run Code Online (Sandbox Code Playgroud)
  1. 保留异常的实例
  2. 在需要时使用它(扔)

而不是new每次都抛出异常?

我感兴趣的是它是否安全

安全我的意思是:没有内存损坏,没有JVM抛出的额外异常,缺少类,没有加载坏类(...).注意:异常将通过网络抛出(远程处理).

其他问题(可读性,保持实例的成本)并不重要.

java exception-handling exception

20
推荐指数
2
解决办法
1442
查看次数

转义JSP/Spring MVC中的所有字符串

我用这种方式在JSP中显示字符串:

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

当然,这个字符串可能包含特殊的html字符.目前可以HTML注入恶意代码(例如,如果someString是javascript包含 - <script src...>).

如何在打印前确保所有字符串都被转义?

我正在使用Spring MVC和JSP.

java spring jsp escaping spring-mvc

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

Hibernate中嵌入式成员的唯一约束

是否可以在Hibernate中为嵌入类的成员定义唯一约束?

我需要确保Nested :: i1和Nested :: i2作为一对(组合)是唯一的

@Entity
@Table( uniqueConstrains = ???)
public class Widget {
   @Id
   private int id;

   @Embedded
   Nested nested;
}

@Embeddable
public class Nested {
    private int i1;
    private int i2;
}
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa

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

如何在模式匹配期间进行隐式转换工作

我有关键字和运算符的枚举(以及其他一些),例如(都是相似的):

object Keywords extends Enumeration {
    val AND, ARRAY, BEGIN, ...= Value

    case class Keyword(keyword: Value) extends Token[Value] {
        def this(keyword: String) = this(Keywords.fromString(keyword))
        def value = keyword
    }

    implicit def valueToKeyword(keyword: Value) = new Keyword(keyword)
}
Run Code Online (Sandbox Code Playgroud)

这种隐式转换允许我传递枚举值,其中Tokens是预期的,例如

def testFunction[T](t: Token[T]) = ...
testFunction(Keywords.ARRAY) // gets converted
testFunction(Operators.PLUS) // gets converted too
Run Code Online (Sandbox Code Playgroud)

似乎在匹配期间也没有应用相同的隐式转换

val token = new Keyword("ARRAY")
token match {
    case Keywords.ARRAY => ... // not selected but SHOULD be
    case Operators.PLUS => ... // completely different …
Run Code Online (Sandbox Code Playgroud)

enums scala implicit-conversion scala-2.10

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

你能把多个文件缩小成一个吗?

我将我的JavaScript代码分成几个文件,全部使用模块模式(更新一个全局变量,比如说MyApp,具有新功能和成员).

是否可以将文件缩小为一个而不会破坏范围

示例我想缩小:

File1.js

var Module = (function(ns) {

 ns.fun1 = function() { alert('fun1'); };
 return ns;

})(Module || {});
Run Code Online (Sandbox Code Playgroud)

File2.js

var Module = (function(ns) {

 ns.fun2 = function() { alert('fun2'); };
 return ns;

})(Module || {});
Run Code Online (Sandbox Code Playgroud)

javascript minify module-pattern

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

JavaScript中的静态导入

如果我有一个带有公共成员的模块,我会像这样使用它

Module.Sub.member()
Run Code Online (Sandbox Code Playgroud)

然后,将成员静态导入到本地范围(如usingcpp或import staticJava中)的最佳方法(如果存在)是什么?

javascript module

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

C++ 11中的静态导入(例如枚举类)

我对枚举类(VS2012)的使用:

class matrix {
public:
    enum class operation_type {ADD, MULT};
    matrix(operation_type op);
...
}
Run Code Online (Sandbox Code Playgroud)

在我使用的另一个片段中

matrix* m = new matrix(matrix::operation_type::ADD);
Run Code Online (Sandbox Code Playgroud)

如果名字很长,这就变得非常混乱.

有可能以某种方式导入枚举值,以便我可以写:

matrix* m = new matrix(ADD);
Run Code Online (Sandbox Code Playgroud)

嵌套类也一样 - 我可以导入它们吗?

c++ enums c++11 enum-class

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

Doxygen 文档是否应该放在包含防护之前?

Doxygen 文档应该放在包含防护之前还是之后?在名称空间之前或内部?

假设标头包含单个类 ( ) 的声明context,这就是我在这里记录的内容。

#ifndef CONTEXT_HPP
#define CONTEXT_HPP

#include <string>    

/**
 * The application context interface.
 */
namespace test {
    class context { ... };
}
Run Code Online (Sandbox Code Playgroud)

c++ documentation doxygen

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

C99中数组的静态大小

一个非常简单的C程序:

#include <stdio.h>
#include <stdlib.h>

void process(int array[static 5]){
    int i;
    for(i=0; i<5; i++)
        printf("%d ", array[i]);
    printf("\n");
}

int main(){

    process((int[]){1,2,3});
    process(NULL);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我编译它: gcc -std=c99 -Wall -o demo demo.c

确实编译,当我运行它时,它崩溃(非常可预测).

为什么?static数组参数中关键字的用途是什么(这个构造的名称是什么btw?)?

c arrays gcc c99

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

在C中初始化"眼睛"(标识)矩阵数组

int eye[3][3] = {
  { 1,0,0 },
  { 0,1,0 },
  { 0,0,1 }
};
Run Code Online (Sandbox Code Playgroud)

是否有更短的方式来初始化它?它是如此规则,必须有一个更聪明的方式来初始化它,特别是如果它超过3x3,比如10x10或更多.

c

3
推荐指数
2
解决办法
788
查看次数

用于重复使用std :: xyz语句的C++宏

有时我的文件看起来像这样:

using std::cout;
using std::endl;
using std::string;
using std::vector;
using std::size_type;
Run Code Online (Sandbox Code Playgroud)

是否有可能以某种方式避免每次都写出公共部分?像这样的东西:

USING(std, cout, endl, string, vector, size_type);
Run Code Online (Sandbox Code Playgroud)

我在考虑一个var-arg宏,但不知道是否有可能迭代那些var args.

c++ macros c-preprocessor

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

Java 8 lambda范围问题

    int x = 1;
    Consumer<Object> f = (i) -> {
        int x = 1; // invalid
    };
Run Code Online (Sandbox Code Playgroud)

    Consumer<Object> f = (i) -> {
        int x = 1;
    };
    int x = 1; // valid
Run Code Online (Sandbox Code Playgroud)

想象一下方法中的那两个块.为什么第二个块有效?

java closures java-8

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