RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-235757

Likhanov's questions

Martin Hope
Likhanov
Asked: 2020-10-27 21:24:44 +0000 UTC

单元测试异步网络方法

  • 1

有这样一种方法,它通过发出请求VKApi并接收id用户的头像

private fun getPhotoIdByUser(userId: String) {
    val fields = "crop_photo"
    val request = VKApi.users().get(VKParameters.from(VKApiConst.USER_ID, userId,
            VKApiConst.COUNT, 1, VKApiConst.FIELDS, fields))

    request.executeWithListener(object : VKRequest.VKRequestListener() {
        override fun onComplete(response: VKResponse?) {

            val id = response?.json?.getJSONArray("response")
                    ?.getJSONObject(0)?.getJSONObject("crop_photo")
                    ?.getJSONObject("photo")?.getString("id")

        }

        override fun onError(error: VKError?) {
            Log.e("tag", "error")
        }
    })
}

我知道哪一个id应该回来。但是如果方法什么都不返回,你如何比较实际结果和预期结果呢?是否可以使用该方法做一些事情以便对其进行测试?

java
  • 1 个回答
  • 10 Views
Martin Hope
Likhanov
Asked: 2020-03-19 10:39:17 +0000 UTC

如何使用 GSON 库重新排序 json 中的字段?

  • 2

假设有一个模型类

class Movie {
    String id;
    String title;
    int year;
    Production production;

    public String getId() {
        return id;
    }

    public String getTitle() {
        return title;
    }

    public int getYear() {
        return year;
    }

    public Production getProduction() {
        return production;
    }
};

使用gson会产生一个像这样的 json 字符串

movies: [
  {
    id: "771305050",
    title: "Straight Outta Compton",
    production: {
      director: "F. Gary Gray"
      screenplay: "Jonathan Herman"
    },
    year: 2015,
  },
  { 
    id: "771357161",
    title: "Mission: Impossible Rogue Nation",
    production: {
      director: "Christopher McQuarrie",
      screenplay: "Christopher McQuarrie"
    },
    year: 2015
  }
]

如您所见,模型类中字段的顺序不同:production在 json 字符串中,现在它早于year. 是否有可能在不放弃库的情况下以模型类中的方式进行排序?

android
  • 1 个回答
  • 10 Views
Martin Hope
Likhanov
Asked: 2020-02-06 16:26:45 +0000 UTC

Realm 和 GSON 之间的交互

  • 1

接口为Retrofit

public interface MapApi {

    @Headers({"Content-Type: application/json", "Cache-Control: max-age=640000"})
    @POST("map/saveareas")
    Call<StandardResponse> saveAreas(@Body List<Area> areas);
}

Pojo类区域

public class Area extends RealmObject {

    @PrimaryKey
    @Expose
    private String id = UUID.randomUUID().toString();
    @Expose
    private String name;
    @Expose
    private String description;
    @Expose
    private String parentId;
    @Expose
    private int color;
    @Expose
    private Date date = new Date();
    @Expose
    private boolean favourite = false;


    public Area(){}
//Другой конструктор и геттеры, сеттеры
}

所以,我得到一个对象列表Realm并将这个列表传递给改造

List<Area> areas = mRealm
                    .where(Area.class)
                    .findAll();

if (areas != null) {
                try {
                    Call<StandardResponse> saveAreasResponseCall =
                            MyApplication.mMapApi.saveAreas(areas);

                    saveAreasResponseCall.enqueue(new Callback<StandardResponse>() {
                        @Override
                        public void onResponse(Call<StandardResponse> call, Response<StandardResponse> response) {

                            Log.d(MyApplication.TAG, CLASS + ": " + response.code());

                            if (response.code() == 200) {
                                StandardResponse standardResponse = response.body();

                            }
                        }

                        @Override
                        public void onFailure(Call<StandardResponse> call, Throwable t) {
                            Log.e(MyApplication.TAG, CLASS + ": " + t.getMessage());
                        }
                    });

                } catch (Exception e) {
                    Log.e(MyApplication.TAG, CLASS + ": " + e.getMessage());
                }
            }

应用程序冻结并黑屏,30 秒后挂起并出现错误

E/tag: MapsFragment: stack size 8MB

但是,如果我自己创建它List<Area> areas1,用其中的数据手动填充它Realm并将其传递给改造,那么一切正常。例如,

List<Area> areas1 = new ArrayList<>();
areas1.add(new Area("eb1737a1-9693-47d9-8390-5d02a249f5c4", "test", "test description", "", -10647809, new Date("Mon Feb 05 22:37:35 GMT+10:00 2018"), false));
areas1.add(new Area("7017c01a-cb6b-403f-956a-38eeedfca598", "tes", "", "eb1737a1-9693-47d9-8390-5d02a249f5c4", -5349889, new Date("Mon Feb 05 22:38:11 GMT+10:00 2018"), false));

如果我尝试areas1.addAll(areas)再次使用从 获取的列表中传递数据Realm,然后将新列表传递给Retrofit,那么一切都会再次挂起。

android
  • 1 个回答
  • 10 Views
Martin Hope
Likhanov
Asked: 2020-01-26 20:27:30 +0000 UTC

位图缩放

  • 2

我创建一个这样的位图

mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_event_place);

我用Matrix它来设置位图的位置和大小。

 mMatrix.setScale(1.5f, 1.5f);
 mMatrix.setTranslate(mStartX + (radius - paint.getStrokeWidth() / 2),
                mStartY - mBitmap.getHeight() / 1.5f);
 canvas.drawBitmap(mBitmap, mMatrix, mBitmapPaint);

我用来绘制位图的画笔

mBitmapPaint = new Paint();
mBitmapPaint.setAntiAlias(true);
mBitmapPaint.setFilterBitmap(true);
mBitmapPaint.setDither(true);

位图已绘制,可以正常工作mMatrix.setTranslate(),但mMatrix.setScale(1.5f, 1.5f)使用任何参数时根本不工作。

setScale(float sx, float sy, float px, float py)而且 postScale()也不工作

android
  • 1 个回答
  • 10 Views
Martin Hope
Likhanov
Asked: 2020-01-18 13:39:52 +0000 UTC

领域。createObject 和 copyToRealm 的区别

  • 1

我学习Realm,我阅读文档。书面

要将 Dog 对象添加到 Realm,请使用 createObject 或 copyToRealm 方法

这两种方法的区别就不写了,我想知道。

android
  • 1 个回答
  • 10 Views
Martin Hope
Likhanov
Asked: 2020-01-04 12:16:16 +0000 UTC

Java 和 Kotlin 在一个 android 项目中

  • 9

有一个相当大的 Android 项目完全用 Java 编写。现在我对 Kotlin 很感兴趣,我想继续这个项目。我知道 Kotlin 可能像 Java 一样在编译时编译为字节码。

然而,有趣的是,在这种情况下你会遇到什么“陷阱”。例如,增加编译时间,可能会增加维护项目的复杂性等。

java
  • 1 个回答
  • 10 Views
Martin Hope
Likhanov
Asked: 2020-11-17 20:01:21 +0000 UTC

如何在 AlertDialog 中删除背景

  • 1

我在调用服务器期间使用这个库来制作动画。

也就是说,我创建了一个带有动画的xml文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <com.zl.reik.dilatingdotsprogressbar.DilatingDotsProgressBar
        android:id="@+id/progress"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:color="@color/button_background_stroke"
        android:radius="6dp"
        app:dd_animationDuration="500"
        app:dd_horizontalSpacing="8dp"
        app:dd_numDots="6"
        app:dd_scaleMultiplier="2" />

</RelativeLayout>

显示动画AlertDialog.Builder

AlertDialog.Builder builder = new AlertDialog.Builder(getContext());

                View view2 = inflater.inflate(R.layout.progress_animation, container, false);

                builder.setView(view2);

                DilatingDotsProgressBar dotsProgressBar = (DilatingDotsProgressBar)
                        view2.findViewById(R.id.progress);

                dotsProgressBar.showNow();

                mProgressDialog = builder.create();

                mProgressDialog.show();

一切似乎都很好,但动画的背景令人不快(在本例中为白色)

与动画对话

是否有可能以某种方式删除这个白色背景?或者有没有比使用动画更好的方法AlertDialog?

android
  • 1 个回答
  • 10 Views
Martin Hope
Likhanov
Asked: 2020-09-27 12:25:52 +0000 UTC

Android 旋转文字

  • 0

我不明白如何旋转文本。

有一个代码

  public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new RotateText(this));
    }

    private class RotateText extends View {

        private Paint fontPaint;
        private String mText = "Rotate text";
        private int fontSize = 100;
        private float[] widths;

        public RotateText(Context context) {
            super(context);
            fontPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
            fontPaint.setTextSize(fontSize);
            fontPaint.setStyle(Paint.Style.STROKE);

            width = fontPaint.measureText(mText);

            widths = new float[mText.length()];
            fontPaint.getTextWidths(mText, widths);
        }

        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);

            canvas.drawARGB(80, 102, 204, 255);

            canvas.translate(350, 550);

            canvas.drawText(mText, 0, 0, fontPaint);

        }
    }
}

如何使文本不断旋转,最好以给定的加速度。

android
  • 1 个回答
  • 10 Views
Martin Hope
Likhanov
Asked: 2020-09-09 15:44:19 +0000 UTC

安卓复制文件

  • 0

我有以下任务

Activity 有一个 Copy 按钮,单击该按钮时,会将所有文件从应用程序目录复制到 SD 卡到输入字段中指定的目录。

我很明白有必要复制项目的所有文件。复制文件有以下方法

public void copyFile(File sourceFile, File destFile) throws IOException {
    if(!destFile.exists()) {
        destFile.createNewFile();
    }

    FileChannel source = null;
    FileChannel destination = null;

    try {
        source = new FileInputStream(sourceFile).getChannel();
        destination = new FileOutputStream(destFile).getChannel();
        destination.transferFrom(source, 0, source.size());
    }
    finally {
        if(source != null) {
            source.close();
        }
        if(destination != null) {
            destination.close();
        }
    }
}

有一种方法可以获取目录中的所有文件

public ArrayList<File> listFilesWithSubFolders(File dir) {
        ArrayList<File> files = new ArrayList<File>();
        for (File file : dir.listFiles()) {
            if (file.isDirectory())
                files.addAll(listFilesWithSubFolders(file));
            else
                files.add(file);
        }
        return files;
    }

但我不知道如何获取应用程序文件夹本身以便将其传递给listFilesWithSubFolders(File dir). 有一个方法getApplicationInfo().dataDir,但它返回一个字符串,我需要一个文件。有没有办法解决这个问题?或者还有比这更好的方法吗?

java
  • 1 个回答
  • 10 Views
Martin Hope
Likhanov
Asked: 2020-08-24 17:13:09 +0000 UTC

安卓异步任务

  • 1

有以下代码

mSubmitButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (TextUtils.isEmpty(mAnswerEditText.getText())
                        || TextUtils.isEmpty(mEmailEditText.getText()))
                    Toast.makeText(getContext(),
                            "Заполните поля ответа и email", Toast.LENGTH_LONG).show();
                else if (!isValidEmail(mEmailEditText.getText())) {
                    Toast.makeText(getContext(),
                            "Укажите правильный email", Toast.LENGTH_LONG).show();
                } else {
                    String[] strings = {
                            mAnswerEditText.getText().toString(),
                            mEmailEditText.getText().toString(),
                            mAd.getEmail()};

                    new CreateAdTask().execute(strings);

                    Toast.makeText(getContext(),
                            "Сообщение отправлено!", Toast.LENGTH_LONG).show();
                    getActivity().finish();
                }
            }
        });  

private class CreateAdTask extends AsyncTask<String[], Void, Void> {

        @Override
        protected Void doInBackground(String[]... params) {
            ServerHelper.getInstance().sendAnswer(
                    params[0].toString(),
                    params[1].toString(),
                    params[2].toString());
            return null;
        }
    }

错误日志

08-24 09:08:11.029 14188-14259/com.likhanov.adservice E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #3
                                                                        Process: com.likhanov.adservice, PID: 14188
                                                                        java.lang.RuntimeException: An error occurred while executing doInBackground()
                                                                            at android.os.AsyncTask$3.done(AsyncTask.java:325)
                                                                            at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
                                                                            at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
                                                                            at java.util.concurrent.FutureTask.run(FutureTask.java:242)
                                                                            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
                                                                            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                                                                            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                                                                            at java.lang.Thread.run(Thread.java:761)
                                                                         Caused by: java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
                                                                            at com.likhanov.adservice.AdFragment$CreateAdTask.doInBackground(AdFragment.java:96)
                                                                            at com.likhanov.adservice.AdFragment$CreateAdTask.doInBackground(AdFragment.java:91)
                                                                            at android.os.AsyncTask$2.call(AsyncTask.java:305)
                                                                            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                                            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243) 
                                                                            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
                                                                            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
                                                                            at java.lang.Thread.run(Thread.java:761) 

第 96 行是 params[0].toString()。我无法弄清楚为什么此时我会溢出数组。显然有必要以不同的方式传递参数,如何做到这一点?

java
  • 1 个回答
  • 10 Views
Martin Hope
Likhanov
Asked: 2020-07-06 18:31:57 +0000 UTC

onCreate() 未被调用

  • 1

开始研究android出现这样的问题,方法调用不了onCreate()。创建测试活动TestActivity

package com.likha.criminalintent;

import android.os.Bundle;
import android.os.PersistableBundle;
import android.support.annotation.Nullable;
import android.support.v4.app.FragmentActivity;
import android.util.Log;

public class TestActivity extends FragmentActivity {

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) {
        Log.d("MyTag", "In TestActivity, onCreate");
        super.onCreate(savedInstanceState, persistentState);
        setContentView(R.layout.test);
    }
}

CrimeFragment从触摸处理程序中的片段调用活动onClick()

从列表中删除

package com.likha.criminalintent;

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.TextView;
import android.widget.Toast;

import java.util.List;

/**
 * Created by likha on 04.07.2017.
 */

public class CrimeListFragment extends Fragment {

   /..../
    private class CrimeHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

        /....../

        @Override
        public void onClick(View v) {
            Log.d("MyTag", "In CrimeListFragment, onClick");
            /*Intent intent = CrimePagerActivity.newIntent(getActivity(),
                    mCrime.getId());*/
            startActivity(new Intent(getActivity(), TestActivity.class));
        }
    }

清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.likha.criminalintent">

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".CrimePagerActivity">
    </activity>
    <activity android:name=".TestActivity"/>
    <activity android:name=".CrimeListActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
</application>

记录所有方法调用,不调用方法。触摸处理程序上的活动打开,调用条目onClick()出现在日志中,但活动打开时只是空的,那里什么也没有,尽管应该有文本。

这是错误窗口中的内容:

07-06 10:25:26.685 17037-17037/? E/cutils-trace: Error opening trace file: Permission denied (13)
07-06 10:25:26.723 17037-17037/? E/memtrack: Couldn't load memtrack module (No such file or directory)
07-06 10:25:26.723 17037-17037/? E/android.os.Debug: failed to load memtrack module: -2
07-06 10:25:26.737 1621-1670/system_process E/InputDispatcher: channel '45fed53 com.likha.criminalintent/com.likha.criminalintent.CrimeListActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
07-06 10:25:26.761 17049-17054/? E/art: Failed sending reply to debugger: Broken pipe
07-06 10:25:28.880 17073-17073/? E/cutils-trace: Error opening trace file: Permission denied (13)
07-06 10:25:28.929 17073-17073/? E/memtrack: Couldn't load memtrack module (No such file or directory)
07-06 10:25:28.929 17073-17073/? E/android.os.Debug: failed to load memtrack module: -2
07-06 10:25:30.303 17120-17120/? E/cutils-trace: Error opening trace file: Permission denied (13)
07-06 10:25:30.358 17120-17120/? E/memtrack: Couldn't load memtrack module (No such file or directory)
07-06 10:25:30.358 17120-17120/? E/android.os.Debug: failed to load memtrack module: -2
07-06 10:25:32.980 17164-17164/? E/cutils-trace: Error opening trace file: Permission denied (13)
07-06 10:25:33.023 2032-2595/com.google.android.gms.persistent E/NetworkScheduler.SR: Invalid parameter app
07-06 10:25:33.023 2032-2595/com.google.android.gms.persistent E/NetworkScheduler.SR: Invalid package name : Perhaps you didn't include a PendingIntent in the extras?
07-06 10:25:33.044 2453-11151/com.google.android.gms E/Drive.UninstallOperation: Package still installed com.likha.criminalintent
07-06 10:25:33.068 17164-17164/? E/memtrack: Couldn't load memtrack module (No such file or directory)
07-06 10:25:33.068 17164-17164/? E/android.os.Debug: failed to load memtrack module: -2
07-06 10:25:33.152 2032-2595/com.google.android.gms.persistent E/NetworkScheduler.SR: Invalid parameter app
07-06 10:25:33.152 2032-2595/com.google.android.gms.persistent E/NetworkScheduler.SR: Invalid package name : Perhaps you didn't include a PendingIntent in the extras?
07-06 10:25:33.329 17201-17201/? E/cutils-trace: Error opening trace file: Permission denied (13)
07-06 10:25:33.384 17201-17201/? E/memtrack: Couldn't load memtrack module (No such file or directory)
07-06 10:25:33.384 17201-17201/? E/android.os.Debug: failed to load memtrack module: -2
07-06 10:25:33.451 1326-1326/? E/EGL_emulation: tid 1326: eglCreateSyncKHR(1669): error 0x3004 (EGL_BAD_ATTRIBUTE)
07-06 10:25:33.526 1732-1732/com.android.systemui E/ResourcesManager: failed to add asset path /data/app/com.likha.criminalintent-2/base.apk
07-06 10:25:33.526 1732-1732/com.android.systemui E/ResourcesManager: failed to add asset path /data/app/com.likha.criminalintent-2/base.apk
07-06 10:25:33.526 1732-1732/com.android.systemui E/ResourcesManager: failed to add asset path /data/app/com.likha.criminalintent-2/base.apk
07-06 10:25:33.806 1326-3157/? E/SurfaceFlinger: ro.sf.lcd_density must be defined as a build property

                                                 [ 07-06 10:25:33.809 17244:17244 D/         ]
                                                 HostConnection::get() New Host Connection established 0xaebade80, tid 17244

错误可能很小,但我不明白在哪里。谢谢你。

java
  • 1 个回答
  • 10 Views
Martin Hope
Likhanov
Asked: 2020-02-01 18:53:24 +0000 UTC

org.hibernate.MappingException:需要一个 AnnotationConfiguration 实例

  • 0

通常,我在尝试从 servlet 中的 mySql 数据库获取数据时遇到此错误。

@WebServlet(name = "PatientServlet", urlPatterns = "/patient")
 public class PatientServlet extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    Session session = HibernateUtill.getSessionFactory().openSession();
    PatientDAOImpl patientDAO = new PatientDAOImpl();
    patientDAO.setSession(session);

    try {
        request.setAttribute("patients", patientDAO.findAll());
    } catch (Exception e) {
        e.printStackTrace();
    }

    request.getRequestDispatcher("WEB-INF/patient.jsp").forward(request, response);
}

}

我使用 maven,所有依赖项都得到满足。如果我尝试从常规类而不是 servlet 连接到数据库,并且只是将一些数据从数据库输出到控制台,一切正常。

org.hibernate.MappingException: An AnnotationConfiguration instance is required to use <mapping class="com.likhanov.model.dao.entities.Patient"/>
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1597)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1552)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1531)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1505)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1425)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1411)
at com.likhanov.model.HibernateUtill.<clinit>(HibernateUtill.java:11)
at com.likhanov.controllers.PatientServlet.doGet(PatientServlet.java:25)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
SEVERE: Servlet.service() for servlet [PatientServlet] in context with path [] threw exception [Servlet execution threw an exception] with root cause
java.lang.ExceptionInInitializerError
at com.likhanov.model.HibernateUtill.<clinit>(HibernateUtill.java:15)
at com.likhanov.controllers.PatientServlet.doGet(PatientServlet.java:25)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

存储库中的完整代码。

顺便说一句,该错误指向 HibernateUtill 类。我怀疑tomcat没有看到hibernate.cfg.xml文件。

war 文件打包了 maven 提取的所有可用库。我知道这可能是不必要的,因为 idea 本身没有对此发出任何警告(修复没有亮起),但我认为它至少可以这样工作。我也扔了配置。从休眠文件。

我只是启动并转到正确的地址。理论上,负责这个地址的servlet应该从数据库中拉取必要的数据,但它崩溃并指向HibernateUtill。如果有的话,我深表歉意,刚开始使用网络。

在此处输入图像描述

java
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5