启动Apache DS时出现问题

时间:2013-07-15 10:01:05

标签: windows-7-x64 apacheds

您好我在启动Apache DS时遇到了问题。我的环境如下。 Windows 7的 64位

我有2个JVM正在运行(32位和64位)我为Apache DS提供了32位JVM。

当我启动服务时,它说“windows无法启动ApacheDS - 本地计算机上的默认服务错误1067该进程意外终止”

当我检查实例文件夹中的日志时,显示以下日志

STATUS | wrapper  | 2013/07/15 15:27:55 | --> Wrapper Started as Service
STATUS | wrapper  | 2013/07/15 15:27:55 | Launching a JVM...
INFO   | jvm 1    | 2013/07/15 15:27:55 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO   | jvm 1    | 2013/07/15 15:27:55 |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
INFO   | jvm 1    | 2013/07/15 15:27:55 | 
STATUS | wrapper  | 2013/07/15 15:28:01 | <-- Wrapper Stopped

有人可以帮我启动Apache DS服务

6 个答案:

答案 0 :(得分:5)

转到

Program Files \ ApacheDS \ instances \ default \ conf

并修改log4j.properties将所有 FATAL 日志级别更改为 DEBUG 并重新启动该服务。您可以在

中生成的新日志文件中找到问题的主要原因

Program Files \ ApacheDS \ instances \ default \ log

例如我在更改日志级别后遇到此问题,我发现主要错误是

ERR_250_ENTRY_ALREADY_EXISTS ou =系统已存在!

这是ApacheDS中的一个悬而未决的问题 https://issues.apache.org/jira/browse/DIRSERVER-1954

希望这对你有帮助!

答案 1 :(得分:2)

可能是你在安装过程中选择了javas / bin文件夹作为Java根目录吗? 如果是这样,请将其设置为更高级别,因为/ bin不是根目录。

答案 2 :(得分:1)

  1. 打开“安装”路径,然后转到以下路径或安装Apache DS的位置,

  2. 以文本模式打开C:\ Program Files(x86)\ ApacheDS \ conf \ wrapper.conf xml文件

  3. 在路径下找到

    java可执行文件的路径

wrapper.java.command

  1. 您需要使用以下Java安装路径示例来更新“ wrapper.java.command =“,

wrapper.java.command = C:\ Program Files \ Java \ jre1.8.0_221 \ bin \ java.exe

按照上面的路径或找到java目录并更新,

您可以启动您的ApacheDS服务,转到服务(或C:\ Program Files(x86)\ ApacheDS \ Manage ApacheDS->双击)以找到ApacheDS并启动。

答案 3 :(得分:1)

这不是我的解决方案 - 但我认为这回答了临时目录问题并解释了它发生的原因 - 请在下面找到链接和答案:

https://issues.apache.org/jira/browse/DIRSERVER-2007

我测试了这个更改(因为它进入了最新版本的 ApaceDS 服务器),当作为服务运行时,它仍然无法在 Windows 2008 上运行,但问题不是路径的长度,而是写入的能力临时目录。在我的系统上,TEMP 和 TMP 环境变量设置为:

%SystemRoot%\TEMP 用于系统和用户是 %USERPROFILE%\AppData\Local\Temp。

由于 ApacheDS 服务作为“本地系统帐户”运行,我认为它会尝试写入 %SystemRoot%\TEMP。无论出于何种原因(我能想到一些),ApacheDS 都无法在该文件夹中创建临时文件。

我通过在实例目录中创建一个 tmp 文件夹进行修复,并将以下行添加到 wrapper.conf:

wrapper.java.additional.6=-Djava.io.tmpdir="%INSTANCE_DIRECTORY%/tmp"

这解决了问题。我认为如果 ApacheDS 明确地将它的临时文件夹设置到它控制的某个地方并且知道它可以写入会更好。想要将文件放在其他地方的系统管理员可以创建符号链接或更改 wrapper.conf。这些临时文件包含 ldap 数据,因此从安全的角度来看,最好将它们与其余的实例数据一起保存。如果实例将拥有自己的日志文件夹,那么它也可能拥有自己的临时目录。

答案 4 :(得分:0)

我遇到了同样的问题。我设法解决了这个问题,但我成功了。解决方案如下:

  • 在“控制面板”中打开Java设置(控制面板&gt;程序&gt; Java on, 我的情况,Windows 7)
  • 显示设置屏幕。然后单击Java选项卡。点击查看... 按钮
  • 在“用户”选项卡上,单击“查找”按钮
  • 之后,选择包含x86 JRE的文件夹。
  • 最后,单击“完成”以添加要运行x86版本的程序使用的x86运行环境。 这就是全部。试试吧。

答案 5 :(得分:0)

如果遇到以下错误,您所要做的就是在'C:\ Windows \ system32 \ config \ systemprofile \ AppData \ Local'中创建一个'Temp'目录。

C:\Windows\system32\config\systemprofile\AppData\Local\Temp\tempks1231340801626329934ks
at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(Unknown Source)
at java.nio.file.Files.newByteChannel(Unknown Source)
at java.nio.file.Files.createFile(Unknown Source)
at java.nio.file.TempFileHelper.create(Unknown Source)
at java.nio.file.TempFileHelper.createTempFile(Unknown Source)
at java.nio.file.Files.createTempFile(Unknown Source)
at org.apache.directory.server.core.security.CertificateUtil.createTempKeyStore(CertificateUtil.java:318)
at org.apache.directory.server.ApacheDsService.start(ApacheDsService.java:219)
at org.apache.directory.server.ApacheDsService.start(ApacheDsService.java:152)
at org.apache.directory.server.wrapper.ApacheDsTanukiWrapper.start(ApacheDsTanukiWrapper.java:175)
at org.tanukisoftware.wrapper.WrapperManager$12.run(WrapperManager.java:2788)*