小编Era*_*ndo的帖子

ClassCastException:org.slf4j.impl.Log4jLoggerAdapter无法强制转换为ch.qos.logback.classic.Logger

我正在按照这个答案,以便在运行时添加一个appender.虽然这适用于原始海报,但我得到了这个例外Logger logger = (Logger) LoggerFactory.getLogger("abc.xyz");:

java.lang.ClassCastException: org.slf4j.impl.Log4jLoggerAdapter cannot be cast to ch.qos.logback.classic.Logger
    de.mypackage.controller.MyController.meinOeOrte(MyController.java:335)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:606)
    org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
    org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:440)
    org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:428)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
Run Code Online (Sandbox Code Playgroud)

简单的问题......为什么它适合他而不适合我?:-P

java logging log4j logback slf4j

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

Grails / IntelliJ IDEA在何处存储.class文件?

我似乎在IntelliJ IDEA Grails项目中找不到我的Groovy源代码的.class文件。您可能知道,我已经创建了grails应用程序“ qotd”和一个插件“ selenium”,其本身就是grails应用程序。因此,为了保持整洁,这是我的Grails视图的屏幕截图: Grails视图

如您所见,我拥有Java和Groovy的源代码。两者共享相同的软件包“ de.it2m.testcases”。这可能是个问题吗?无论如何,现在我需要知道.class文件的存储位置。我已经使用“ grails run-app”命令正确地编译了“ qotd”应用程序及其“ selenium”插件,因此我确定某个地方必须有.class文件。我已经在以下位置找到“ SeGridTest.java”类的类文件:

... IntelliJ工作区\ qotd \ out \ production \ selenium-inplacePlugin \ de \ it2m \ testcases

不幸的是,此目录中缺少“ SeleniumTest.class”(正如我期望的那样)。我也在浏览“ .grails”目录,但没有成功。SeleniumTest.class可以隐藏在哪里...?

注意:我正在使用Windows 8.1 Pro,IntelliJ Ultimate 13.1.4和Grails 2.3.8。

java grails groovy intellij-idea .class-file

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

在JS中获取Android Chrome浏览器地址栏的高度

如何在Android的Chrome浏览器中的JavaScript中获取地址栏的高度(在左侧图片中用红色矩形标记)?我需要知道它在向下滚动时消失,因此我需要对此做出反应,因为视口的高度与那时不同。

在此处输入图片说明

我已经想出的一种解决方案:

  1. 获取初始状态下的视口高度: var height = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);

  2. 地址栏消失后获取视口高度

  3. 计算两个值之间的差异

问题是您必须处于第二状态才能知道这一点。

html javascript css google-chrome android-chrome

3
推荐指数
4
解决办法
9153
查看次数

使用 Mockito 模拟 HttpSession

我需要测试以下控制器方法:

@RequestMapping(value="/addLocation")
public String addLocation(HttpServletRequest request, HttpSession session) {

    String location = (String) request.getParameter("plz_ort");
    String radius = (String) request.getParameter("umkreis");

    ((ArrayList<String>) session.getAttribute("queryTopics")).clone();        

    ...
}
Run Code Online (Sandbox Code Playgroud)

因此我使用 Mockito 和 JUnit 编写了这个测试类

import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

import java.util.ArrayList;

import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mock.web.MockHttpSession;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;

public class MyControllerTest {


    @InjectMocks
    private MyController myController;

    private MockMvc mockMvc;

    @InjectMocks
    MockHttpSession session;

    @Before
    public void setup() {

        // Process mock annotations
        MockitoAnnotations.initMocks(this);

        // Setup Spring …
Run Code Online (Sandbox Code Playgroud)

java session junit spring mockito

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

java.time.format.DateTimeParseException:无法在索引 0 处解析文本

我有这个 groovy 代码,它给了我一个错误,我不明白为什么:

import java.text.SimpleDateFormat
import java.time.DayOfWeek
import java.time.LocalDate
import java.time.LocalDateTime
import java.time.ZoneId
import java.time.format.DateTimeFormatter
import java.time.temporal.TemporalAdjusters

static String convertDateTimeString(String fromFormat, String toFormat, String dateString) {
    DateTimeFormatter fromFormatter = DateTimeFormatter.ofPattern(fromFormat, Locale.GERMAN)
    LocalDateTime localDateTime = LocalDateTime.parse(dateString, fromFormatter)
    DateTimeFormatter toFormatter = DateTimeFormatter.ofPattern(toFormat, Locale.GERMAN)
    localDateTime.format(toFormatter)
}

String date = convertDateTimeString( 'EEE, dd MMM yyyy HH:mm:ss z', 'yyyy', "Wed, 04 Feb 2015 10:12:34 UTC")
assert date == '2015'
Run Code Online (Sandbox Code Playgroud)

错误是 java.time.format.DateTimeParseException: Text 'Wed, 04 Feb 2015 10:12:34 UTC' could not be parsed at index 0 …

java groovy java-time

0
推荐指数
1
解决办法
4216
查看次数