<legend id='1QO8X'><style id='1QO8X'><dir id='1QO8X'><q id='1QO8X'></q></dir></style></legend>

<tfoot id='1QO8X'></tfoot>

        <bdo id='1QO8X'></bdo><ul id='1QO8X'></ul>

      <small id='1QO8X'></small><noframes id='1QO8X'>

      <i id='1QO8X'><tr id='1QO8X'><dt id='1QO8X'><q id='1QO8X'><span id='1QO8X'><b id='1QO8X'><form id='1QO8X'><ins id='1QO8X'></ins><ul id='1QO8X'></ul><sub id='1QO8X'></sub></form><legend id='1QO8X'></legend><bdo id='1QO8X'><pre id='1QO8X'><center id='1QO8X'></center></pre></bdo></b><th id='1QO8X'></th></span></q></dt></tr></i><div id='1QO8X'><tfoot id='1QO8X'></tfoot><dl id='1QO8X'><fieldset id='1QO8X'></fieldset></dl></div>
    1. java.util.MissingResourceException:找不到基本名称 java

      时间:2023-10-01

        <legend id='XJWV0'><style id='XJWV0'><dir id='XJWV0'><q id='XJWV0'></q></dir></style></legend>

        <small id='XJWV0'></small><noframes id='XJWV0'>

          <i id='XJWV0'><tr id='XJWV0'><dt id='XJWV0'><q id='XJWV0'><span id='XJWV0'><b id='XJWV0'><form id='XJWV0'><ins id='XJWV0'></ins><ul id='XJWV0'></ul><sub id='XJWV0'></sub></form><legend id='XJWV0'></legend><bdo id='XJWV0'><pre id='XJWV0'><center id='XJWV0'></center></pre></bdo></b><th id='XJWV0'></th></span></q></dt></tr></i><div id='XJWV0'><tfoot id='XJWV0'></tfoot><dl id='XJWV0'><fieldset id='XJWV0'></fieldset></dl></div>
            <bdo id='XJWV0'></bdo><ul id='XJWV0'></ul>
              <tbody id='XJWV0'></tbody>
            • <tfoot id='XJWV0'></tfoot>

                本文介绍了java.util.MissingResourceException:找不到基本名称 javax.servlet.LocalStrings 的包,区域设置 es_ES的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                问题描述

                我正在尝试在我的一个 servlet 中执行一些 jUnit 测试,但每当我尝试运行它时,我都会获得 ExceptionInInitializerError.我读过这个错误是由于一个异常,在评估静态初始化程序或静态变量的初始化程序期间发生的.问题是,即使我试图修复它,我也可以.这就是我在这里写的原因:我的 servlet 代码如下:

                I am trying to perform some jUnit test in one of my servlets but whenever I try to run it I obtain a ExceptionInInitializerError. I've read that this error is due to an exception, occurred during evaluation of a static initializer or the initializer for a static variable. The thing is that even though I tried to fix it I can. That's why I am writing here: my servlet code is the following:

                public class AppServlet extends HttpServlet {
                
                // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
                /**
                 * Handles the HTTP <code>GET</code> method.
                 *
                 * @param request servlet request
                 * @param response servlet response
                 * @throws ServletException if a servlet-specific error occurs
                 * @throws IOException if an I/O error occurs
                 */
                @Override
                protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                    try {
                        response.setContentType("text/html;charset=UTF-8");
                        PrintWriter out = response.getWriter();
                
                        //obtenemos los valores de los campos del formulario.
                        String usr = request.getParameter("usrName");
                        String cp = request.getParameter("codigoPostal");
                        Gson gson = new Gson();
                        if (usr == null || cp == null || cp.length() != 5) {
                            Result r = new Result("KO", "No se introdujeron bien los datos");
                            String jsonString = gson.toJson(r);
                            out.println(jsonString);
                            return;
                        }
                
                        //procedemos a convertir el codigo postal en la ciudad usando geonames:
                        //para ello usaremos la api de geonames
                        String city = geoLocalize.localizeCity(cp);
                
                        //empezaremos con el codigo de depuración para ver donde podemos tener errores
                        if (city == null) {
                            Result r = new Result("KO", "No hay ciudad para dicho codigo postal");
                            String jsonString = gson.toJson(r);
                            out.println(jsonString);
                            return;
                        }
                        //comenzamos con las bases de datos
                        SQLconnection db = new SQLconnection();
                        //una vez creada la conexion deberemos hacer las insert en las tablas.
                
                        if (!db.checkUsr(usr)) {
                            if (db.insertUsr(usr)) {
                                int numCp = parseInt(cp);
                                if (!db.checkCP(numCp)) {
                                    if (db.addCity(numCp, city)) {
                                        Result r = new Result("OK", "Proceso terminado sin problemas");
                                        String jsonString = gson.toJson(r);
                                        out.println(jsonString);
                                        return;
                                    } else {
                                        Result r = new Result("KO", "No se ha podido añadir la ciudad");
                                        String jsonString = gson.toJson(r);
                                        out.println(jsonString);
                                        return;
                                    }
                
                                } else {
                                    Result r = new Result("OK", "Se ha añadido el usuario, el codigo postal ya estaba");
                                    String jsonString = gson.toJson(r);
                                    out.println(jsonString);
                                    return;
                                }
                            } else {
                                Result r = new Result("KO", "No se ha podido añadir el usuario");
                                String jsonString = gson.toJson(r);
                                out.println(jsonString);
                                return;
                            }
                
                        } else {
                            Result r = new Result("KO", "El usuario ya existe en el sistema");
                            String jsonString = gson.toJson(r);
                            out.println(jsonString);
                            return;
                        }
                
                    } catch (IOException | NumberFormatException ex) {
                        Logger.getLogger(AppServlet.class.getName()).log(Level.SEVERE, null, ex);
                    } catch (Exception ex) {
                        Logger.getLogger(AppServlet.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
                

                }

                而我的 jUnit 测试代码如下:

                And my jUnit test code is the following:

                public class AppServletTest extends TestCase {
                
                HttpServletRequest request;
                HttpServletResponse response;
                AppServlet instance;
                
                public AppServletTest(String testName) {
                    super(testName);
                
                }
                
                
                @Override
                protected void setUp() throws Exception {
                    request = mock(HttpServletRequest.class);
                    response = mock(HttpServletResponse.class);
                    instance = new AppServlet();
                    super.setUp();
                }
                
                
                @Override
                protected void tearDown() throws Exception {
                    super.tearDown();
                }
                
                /**
                 * Test of doGet method, of class AppServlet.
                 *
                 * @throws java.lang.Exception
                 */
                
                public void testDoGet() throws Exception {
                    System.out.println("doGet");
                
                    //generamos los parametros y un .txt donde guardaremos la respuesta JSON
                    when(request.getParameter("usrName")).thenReturn("Javi");
                    when(request.getParameter("codigoPostal")).thenReturn("48991");
                    PrintWriter writer = new PrintWriter("resultadoPruebas.txt");
                    when(response.getWriter()).thenReturn(writer);
                
                    //mandamos la peticion al servlet
                    instance.doGet(request, response);
                
                    verify(request, atLeast(1)).getParameter("usrName"); // para verificar si se ha llamado a usrName
                    writer.flush(); // it may not have been flushed yet...
                    assertTrue(FileUtils.fileRead(new File("somefile.txt"), "UTF-8")
                            .contains("OK"));
                
                
                }
                

                }

                这里是完整的堆栈跟踪:

                An here is the full stacktrace:

                java.lang.ExceptionInInitializerError
                at com.jbo.testapp.AppServletTest.setUp(AppServletTest.java:36)
                at junit.framework.TestCase.runBare(TestCase.java:128)
                at junit.framework.TestResult$1.protect(TestResult.java:106)
                at junit.framework.TestResult.runProtected(TestResult.java:124)
                at junit.framework.TestResult.run(TestResult.java:109)
                at junit.framework.TestCase.run(TestCase.java:120)
                at junit.framework.TestSuite.runTest(TestSuite.java:230)
                at junit.framework.TestSuite.run(TestSuite.java:225)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:497)
                at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:96)
                at org.apache.maven.surefire.junit.JUnit3Provider.executeTestSet(JUnit3Provider.java:117)
                at org.apache.maven.surefire.junit.JUnit3Provider.invoke(JUnit3Provider.java:94)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:497)
                at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164)
                at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110)
                at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:175)
                at 
                
                org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:107)
                    at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:68)
                Caused by: java.util.MissingResourceException: Can't find bundle for base name javax.servlet.LocalStrings, locale es_ES
                    at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1564)
                    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1387)
                    at java.util.ResourceBundle.getBundle(ResourceBundle.java:773)
                    at javax.servlet.GenericServlet.<clinit>(GenericServlet.java:95)
                    ... 24 more
                Caused by: java.util.MissingResourceException: Can't find bundle for base name javax.servlet.LocalStrings, locale es_ES
                    at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1564)
                    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1387)
                    at java.util.ResourceBundle.getBundle(ResourceBundle.java:773)
                    at javax.servlet.GenericServlet.<clinit>(GenericServlet.java:95)
                    ... 24 more
                

                希望你们能帮助我!提前谢谢你

                Hope you guys can help me! Thank you in advance

                推荐答案

                原因:java.util.MissingResourceException:找不到基本名称 javax.servlet.LocalStrings 的包,语言环境 es_ES

                Caused by: java.util.MissingResourceException: Can't find bundle for base name javax.servlet.LocalStrings, locale es_ES

                这才是真正的错误.

                您正在运行的测试缺少 servlet-api 依赖项.

                Your running tests are missing the servlet-api dependency.

                如果您使用的是 maven,请确保此依赖项存在于您的项目中:

                If you're using maven make sure this dependency is in your project:

                <dependency>
                  <groupId>javax.servlet</groupId>
                  <artifactId>javax.servlet-api</artifactId>
                  <version>3.1.0</version>
                </dependency>
                

                这篇关于java.util.MissingResourceException:找不到基本名称 javax.servlet.LocalStrings 的包,区域设置 es_ES的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                上一篇:Mockito:如何存根 getter setter 下一篇:Mockito @InjectMocks 不适用于相同类型的字段

                相关文章

                最新文章

                <small id='3OzJG'></small><noframes id='3OzJG'>

                <tfoot id='3OzJG'></tfoot>
              1. <legend id='3OzJG'><style id='3OzJG'><dir id='3OzJG'><q id='3OzJG'></q></dir></style></legend>
                • <bdo id='3OzJG'></bdo><ul id='3OzJG'></ul>
                  <i id='3OzJG'><tr id='3OzJG'><dt id='3OzJG'><q id='3OzJG'><span id='3OzJG'><b id='3OzJG'><form id='3OzJG'><ins id='3OzJG'></ins><ul id='3OzJG'></ul><sub id='3OzJG'></sub></form><legend id='3OzJG'></legend><bdo id='3OzJG'><pre id='3OzJG'><center id='3OzJG'></center></pre></bdo></b><th id='3OzJG'></th></span></q></dt></tr></i><div id='3OzJG'><tfoot id='3OzJG'></tfoot><dl id='3OzJG'><fieldset id='3OzJG'></fieldset></dl></div>