问题标签 [javaw]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
557 浏览

java - 使用嵌入式 Tomcat 启动 Spring 应用程序 (STS) 时,java.exe 和 javaw.exe 进程都在同一端口上创建

正如标题所说 - 当启动带有嵌入式 Tomcat 的 Spring 应用程序 (STS) 时,java.exe 和 javaw.exe 进程都在同一个端口上创建。

这意味着我遇到了繁忙的端口问题,即使使用 Relaunch 选项(通常会关闭 Tomcat 然后重新启动它)。实际上,重新启动确实会停止这两个进程之一,但随后我收到一条错误消息,指出端口一定很忙。杀死剩下的一个确实解决了这个问题,但我的生命太短了,不能用 Java 开发和手动杀死进程。

有没有一种方便的方法来克服这个问题?我看到这是 STS(当然还有 Eclipse),有一种方法可以指定项目特定的 JRE,但我不确定如何继续。

注意:我安装了 32 位和 64 位 java8 实例。

0 投票
2 回答
396 浏览

java - Eclipse 如何从以 javaw.exe 开始的进程中捕获标准输出?

假设您正在 Eclipse 中运行一个简单的 HelloWorld 程序。的输出System.out.println("Hello, World!");在“控制台”选项卡中清晰可见。但是,如果您随后打开“调试”透视图并显示“进程属性”窗口,您将看到如下内容:

所以,看起来它正在使用 javaw.exe 来启动 JVM。但是,如果您从命令行运行完全相同的命令,您将看不到任何输出(正如您所期望的,因为 javaw 应该与 stdout 和 stderr 分离)。

那么,Eclipse 如何捕获和显示该输出?我也希望能够做到这一点...

0 投票
1 回答
501 浏览

java - Eclipse 4.7.3a 和 Java 10 错误:找不到或加载主类

我刚刚在装有 Windows 10 pro 的笔记本电脑上安装了新的 Eclipse。这是 Eclipse 版本:

我的java版本:

我的测试代码:

Eclipse创建的test\bin目录下命令行执行

工作正常。

但我无法在 Eclipse 中使用它。使用“作为 java 应用程序运行”

总是产生以下错误:

任何帮助表示赞赏。

0 投票
1 回答
903 浏览

java - jar 名称中的通配符

我在窗口批处理文件中运行一个 jdk 命令:

但是,每两周我们就会有新版本出现,旧的 jar 会自动被新的 jar 替换,所以我想使用通配符,比如:

我在网上参考了很多建议使用的文章,使用时将*jar 名称括起来,......它们都没有奏效。""*

0 投票
1 回答
402 浏览

java - java.exe 比 javaw.exe 快

我已经使用 hibernate + Mysql/Sqlite 制作了几个 java 软件,并且我注意到使用两个启动器时(从数据库)获取时间有显着差异。

当我使用 java.exe 启动我的应用程序时,当然会显示一个控制台,但应用程序比我使用 javaw.exe 时更快。

我的应用程序是基于 Windows 的应用程序,我不希望 java.exe 在应用程序启动时加载控制台,所以我一直在使用 javaw.exe,但它缺少获取时间。

这个问题的解释是什么?我怎样才能在不启动控制台的情况下使用 java.exe 启动我的应用程序,或者使用 javaw.exe 启动它并获得相同的性能?

提前致谢。

0 投票
0 回答
514 浏览

java - 如何在 Windows 上使用 Javaw 发生 JNI 错误 Intellij IDEA 在没有控制台窗口的情况下运行 GUI

所以我有一个 jar 文件,它是 Intellij IDEA 的一个工件,我希望能够用 javaw 运行它,这样控制台就不可见了。

我认为这应该可行,但由于某种原因,它会吐出一个 JNI 错误。

错误:发生 JNI 错误,请检查您的安装并重试

同样发生在

下面的命令确实有效并且程序运行良好,但它显示了控制台窗口。

安装的唯一 java 版本是 Oracle Java 1.8.0_191

关于如何做到这一点的任何想法,我是否需要安装不同的 java 版本来修复 javaw 或更改 Java 程序代码中的一些模糊之处?

谢谢。

0 投票
0 回答
534 浏览

java - 为什么 myProcess.getInputStream() 可以使用 java.exe 而不是 javaw.exe?

我正在为游戏 Factorio 的基于命令行的无头服务器编写一个包装器。我正在使用 ProcessBuilder 并获取服务器的标准输出,并使用 rcon 连接(长话短说,标准输入不工作)与之通信。我已经差不多完成了,直到我将打包 jar 并在物理服务器上运行它。这时我注意到运行 jar 而不是从 IDE (Intelij) 运行会阻止来自服务器的任何输出通过。我做了一些更多的窥探,发现每当我从进程中使用 .getInputStream() 时,服务器的输出只有在程序沿着控制台(java.exe)启动时才会发送,如果程序根本不会发送在没有它的情况下启动(javaw.exe)。

我用 cmd.exe 测试了 .getInputStream(),它对 java.exe 和 javaw.exe 都很好。我还检查了代码是否遵循一些我在 IDE 之外运行时没有预料到的流程,但它在 read.readLine() 上阻塞,就好像它在等待输入但没有收到任何东西一样。

该过程在这里初始化:

稍后,输入由 gui 处理并通过 rcon 发送(在服务器完全初始化之后),输出被读取并打印到 gui 的提要 JTextArea,这里:

应用程序应该已经打印出服务器的输出,例如所有关于 modloading、连接到匹配服务器等的初始化文本,就像在 IDE 中和使用 java.exe 时一样。相反,它根本不输出任何东西,但进程继续运行,并且服务器可以在完成初始化后连接到游戏中。

0 投票
0 回答
63 浏览

java - 从 jar 执行 Matlab 函数时出现随机 unicode 字符消息错误

我正在尝试从使用 MCR v95 编译的 jar 中执行 Java 项目中的 matlab 函数。但是,当我从我的 java 代码(使用 eclipse IDE)中尝试它时,突然出现一个错误窗口,其中包含一些 unicode 字符(其中包括中文字母)。

报错信息截图: 错误信息

我多次重新安装了 Matlab 运行时并确保运行时文件夹在路径中,但问题仍然存在。

任何人都可以理解错误消息或建议我解决问题吗?

先感谢您

更新

在我的一些测试中(从另一个文件夹和 jar 而不是从 Eclipse 控制台执行),我得到了一个更具可读性的错误,但仍然不知道如何添加它。请看下图:

新的错误信息

CoolLo0 是使用的matlab jar 的缩写

0 投票
0 回答
253 浏览

batch-file - 用于启动新 javaw 进程的批处理文件未按预期工作

我是编写 Windows 批处理文件的新手。我有以下批处理文件来启动新的 javaw 进程并将批处理文件中命令的输出重定向到日志文件。

它工作正常,我可以看到输出已正确重定向到日志文件,并且当我执行批处理文件时,javaw 进程也以新的进程 ID 启动。

这是执行批处理文件后重定向到日志文件的输出。

但是,当我在批处理文件执行后尝试编辑或删除日志文件时,它说该操作无法完成,因为该文件是在 Java(TM) Platform SE 二进制文件中打开的。

只有在杀死 javaw 进程后,我才能编辑或删除日志文件。

不知道为什么会发生这种情况以及如何解决这个问题。我的期望是,一旦成功启动 javaw 进程,我应该能够编辑或删除日志文件。这个对吗?

我的操作系统是 Windows 10 Enterprise 64 位。

0 投票
1 回答
111 浏览

java - Python Tabula Script 不断打开 Java.Exe 窗口。我如何让它使用 jawaw.exe 代替?

我制作了一个使用 tabula.read_pdf 的 python 脚本。将其转换为可执行文件后,在运行 tabula.read_pdf 时不断弹出 java.exe 窗口。其他线程表明我应该使用 javaw.exe 而不是 java.exe。但是我该如何选择呢?

我使用 auto-py-to-exe 为我的 python 脚本制作可执行文件。

Python tabula read_pdf 打开 java 控制台窗口 在这个问题中,他们谈论在包装文件中更改 i 名称。