【问题标题】:Java trouble on apache httpd startingapache httpd 启动时的 Java 问题
【发布时间】:2012-09-14 08:12:55
【问题描述】:

对不起,我的英语不好。

我正在尝试在 Windows 上从 Java 启动 Apache HTTPD 服务器

   public static Process pp;

    @Override
    public void run() {
        try {

            Runtime run = Runtime.getRuntime();
            try {

                MyThread.pp = run.exec("usr/local/apache24/bin/httpd.exe");                
                BufferedReader in = new BufferedReader(new InputStreamReader(MyThread.pp.getErrorStream()));
                String line;
                while ((line = in.readLine()) != null) {
                    System.out.println(line);
                }

如果 Apache HTTPD 将在没有输出到控制台的情况下启动(没有错误和警告),那么此代码正确启动了 Apache HTTPD 服务器(在 RAM 中有两个进程)并且一切正常。

但是如果 Apache HTTPD 服务器有任何输出到控制台,那么这个 Java 代码就不能正确启动 Apache HTTPD 服务器。 例如,如果 Apache HTTPD 服务器将输出到控制台

AH00112: Warning: DocumentRoot [C:/Art/Dropbox/OpenSource/MyGIT/myprivatesite/]
does not exist
AH00548: NameVirtualHost has no effect and will be removed in the next release C
:/Art/MyServer/usr/local/apache24/conf/httpd.conf:535

比Java只启动Apache HTTPD服务器的一个进程,他不能工作。

如果他有任何控制台输出,我如何启动 Apache HTTPD 服务器?

【问题讨论】:

  • 为什么?只需将其安装为服务即可。你不需要 Java。
  • 我制作了便携包,但我不想安装该服务

标签: java apache2


【解决方案1】:

您是否尝试将所有 3 个流连接到控制台?我觉得代码看起来不错。

【讨论】:

    猜你喜欢
    • 2014-01-01
    • 1970-01-01
    • 2015-08-21
    • 2014-02-22
    • 2012-08-06
    • 2015-05-30
    • 1970-01-01
    • 2018-10-10
    • 2016-10-29
    相关资源
    最近更新 更多