netbeans 如何检测Java项目中缺少MSVCR120.dll

lztngnrs  于 2022-11-10  发布在  Java
关注(0)|答案(2)|浏览(173)

我来自印度尼西亚,我不会说英语
我计划运行postgresql二进制与我的项目(与JAVA)运行服务器postgresql,我有2种方式:1.使用 *.bat文件2.包含在我的java项目中
当我运行 *.bat文件时,我得到新的Windows错误消息“程序无法启动,因为MSVCR120.dll从您的计算机中丢失.....”
但如果我运行我的java项目,我没有得到新的windows错误消息,但服务器没有运行。
那么,我如何使用Java项目显示或捕获新Windows错误消息
或者我如何检查MSVCR120.dll是否未丢失
我有运行postgresql服务器源代码:

//jika pertama kali dijalankan (folder data tidak ada)
        System.out.println("Firs Time Run");
        ProcessBuilder pb = new ProcessBuilder(PathAplication.PostgreBinPath + "\\initdb",
                "-U", PG_USER_ROOT, "-A", "trust", "-E", "utf8", "--locale=C");
        Map<String, String> env = pb.environment();
        env.put("PGDATA", PathAplication.PostgreDataPath);
        env.put("PGDATABASE", PG_DATABASE_ROOT);
        env.put("PGUSER",PG_USER_ROOT);
        env.put("PGPORT",PG_PORT);

        try {
            Process p = pb.start();
            InputStream is = p.getInputStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(is));

            String line;
            boolean started = false;

            while(!started && (line = reader.readLine()) != null){
                System.out.println(line);
                started = line.contains("database system is ready to accept connections");
            }            
            RunServer();
        } catch (IOException ex) {
            Logger.getLogger(FrameRunCommandLine.class.getName()).log(Level.SEVERE, null, ex);
        }

谢谢之前...

ctehm74n

ctehm74n1#

您还需要安装x86版本的MSVC可再发行软件包。
我发现即使安装了x64版本的MSVC可再发行版,SysWOW64目录中的 msvcp120.dll 文件也不见了。安装了x86版本后,问题得到了解决。

注意:即使您使用的是x64

wvyml7n5

wvyml7n52#

我还将补充有必要下载2013版https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#visual-studio-2013-vc-120

相关问题