小编Nov*_*ser的帖子

如何告诉Maven忽视SSL错误(并信任所有证书)?

我经常需要运行"mvn"命令:

mvn -f pom.xml clean install -Dmaven.test.skip=false --settings /Users/myhome/settings.xml -X -Djavax.net.ssl.trustStore=/Users/myhome/truststore.jks -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStorePassword=dummy -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol -U
Run Code Online (Sandbox Code Playgroud)

由于我需要与其他各种域集成,因此每次我必须将其证书添加到truststore.jks以防止SSL握手错误.

有什么办法可以配置mvn来忽略SSL错误.

ssl-certificate maven

93
推荐指数
3
解决办法
14万
查看次数

静态调用Class.getName()

我偶然发现了下面的代码NestedRuntimeExceptionorg.springframework.core:

static {
    NestedExceptionUtils.class.getName();
}
Run Code Online (Sandbox Code Playgroud)

有这样一个块的用途是什么?

java spring osgi

18
推荐指数
1
解决办法
909
查看次数

iOS 7上Safari浏览器的用户代理

我想用Safari浏览器在iPhone和iPod中打开我的网站.对于任何其他浏览器,如Chrome,Dolphin等,它不应该打开.

但目前我从几乎所有设备获得相同的用户代理:

对于Safari:

User Agent String :: mozilla/5.0 (iphone; cpu iphone os 7_0_2 like mac os x) applewebkit/537.51.1 (khtml, like gecko) version/7.0 mobile/11a501 safari/9537.53
Run Code Online (Sandbox Code Playgroud)

对于Chrome:

User Agent String :: mozilla/5.0 (iphone; cpu iphone os 7_0_2 like mac os x) applewebkit/537.51.1 (khtml, like gecko) crios/30.0.1599.16 mobile/11a501 safari/8536.25
Run Code Online (Sandbox Code Playgroud)

对于Mercury浏览器:

User Agent String :: mozilla/5.0 (iphone; cpu iphone os 6_0_1 like mac os x) applewebkit/536.26 (khtml, like gecko) mercury/7.4.2 mobile/10a523 safari/8536.25
Run Code Online (Sandbox Code Playgroud)

对于Dolphin浏览器:

User Agent String :: mozilla/5.0 (iphone; cpu iphone os 7_0_2 like …
Run Code Online (Sandbox Code Playgroud)

browser ios

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

Linux OOM Killer和Java Process

我经常在Tomcat进程的生产环境中遇到问题,被Linux OOM杀死.

检查/ var/log/messages它说java没有污染,java调用了OOM杀手.

- 32 GB盒子上的-Xms20480m -Xmx20480m.

我看到下面的崩溃 -

OOM导致这次崩溃吗?还是因为OOM而发生了崩溃?我该如何调试此问题?

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f4c3230aad7, pid=16248, tid=139964439296320
#
# JRE version: Java(TM) SE Runtime Environment (7.0_45-b18) (build 1.7.0_45-b18)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.45-b08 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# V  [libjvm.so+0x674ad7]  JVM_Clone+0x97
#
# Failed to write core dump. Core dumps have been disabled. To enable …
Run Code Online (Sandbox Code Playgroud)

java linux memory tomcat linux-kernel

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

在 Spring Controller 方法中使 ModelAttribute 可选

我有一个控制器方法定义如下 -

@RequestMapping(method = RequestMethod.POST, value="/callMe")
public String myMethod(@ModelAttribute MyClass myObj, Model model) {
    //Do something
}
Run Code Online (Sandbox Code Playgroud)

即使我没有传递 ModelAttribute myObj,如何才能调用上述控制器方法?

我不想在没有它的情况下创建另一个控制器并复制功能。

java model-view-controller spring spring-mvc

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

查找Long(在列表中)是否可以适合Long值列表

我有一个List<Long>(A)表示可用于不同分区的可用大小.用户来询问List<Long>(B)表示他们想要存储的文件大小.

现在,如果任何Long(来自B)可以适合A中的任何空闲大小,我们希望重新使用该分区,否则为它们创建新分区.

如何知道LongB中的任何值是否小于LongA中的任何值.

如果我使用迭代方法扫描A并找出B是否适合任何一个,它将导致O(n ^ 2)运行时,但我们能做得更好吗?

这种问题是否存在任何数据结构?

java collections time-complexity

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

有条件地跳过 Junit 5 测试

在我的 Junit Jupiter API 5.5 测试中,我正在调用我的方法,该方法在内部对远程服务进行 HTTP 调用。现在,远程服务可能会关闭或行为不正确。我想跳过测试,以防远程服务未按预期运行。

@Test
void testMe() {
  // do something
  Result res1 = myObject.retrieveResults(params)
  // assert something

  Result res2 = myObject.retrieveResults(param2)
  //asert on results
}

Result retrieveResults(Parameters param) {
 // do something
  // call to remote service
  // if they do not give result throw CustomException()
  // return Result
}
Run Code Online (Sandbox Code Playgroud)

所以基本上在我的测试中我想检查是否myObject.retrieveResult抛出 CustomException 然后跳过该测试,否则正常评估。

junit

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

在Spring控制器方法参数中使用接口

我有两个类AB正在实施的接口.

public class A implements MyInterface {

    // Class A stuff
  private String name;

  public String getName() {
   return name;
  }

  public void setName(String name) {
this.name = name;
 }
}

public class B implements MyInterface { 
    //Class B stuff

   private MyCustomClass myCustomclass;

   public String getName() {
    this.myCustomclass.getName();
 }
}


public interface MyInterface {

  public String getName();
}
Run Code Online (Sandbox Code Playgroud)

我想使用单个控制器方法,它可以在A和B上工作,具体取决于前端发送的对象.所以当我尝试使用Interface时,Spring抱怨找不到合适的消息转换器.

@RequestMapping(value = "/mymethod", method = RequestMethod.POST) 
public String updateRecord(@RequestBody MyInterface myInterface, HttpServletResponse response) { 
        //Do stuff
}
Run Code Online (Sandbox Code Playgroud)

java model-view-controller spring spring-mvc

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

多次在CompletableFuture中运行Runnable

我想执行多个线程,它们会尝试同时添加到我的自定义列表中MyList,但是当我尝试计数时,我看不到任何输出

    public static void main(String[] args) {

        MyList<String> list = new list<String>();

        MyRunner<String> myRunner = new MyRunner<String>(list);

        ExecutorService threadPool = Executors.newFixedThreadPool(4);

        for(int i = 0; i < 20; i++) {
            CompletableFuture.runAsync(new MyRunner<String>(list));
        }

        try {
            threadPool.awaitTermination(100l, TimeUnit.SECONDS);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        System.out.println(list.getCount());
}
Run Code Online (Sandbox Code Playgroud)

跑步者班:

class MyRunner<String> implements Runnable {

    MyList<String> list;

    public MyRunner(MyList <String> t) {
        this.list = t;
    }

    @Override
    public void run() {
        for(int i = 0; i < 200; i++) {
            list((String) …
Run Code Online (Sandbox Code Playgroud)

java concurrency java.util.concurrent java-8

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

使用ControllerAdvice添加模型属性

我用@ControllerAdvice标记了一个类

添加了一种方法

@ModelAttribute
public void setSourceAppId(Model model)
{
    model.addAttribute("myattribute","1234");
}
Run Code Online (Sandbox Code Playgroud)

但是这种方法根本没有被调用.

spring annotations spring-mvc

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