這兩個系統都是帶有Lotus Notes 8.5的Windows XP。Lotus Notes Java應用程序找不到notes.ini
我有一個使用notes.jar與Lotus Notes交互的Java應用程序(示例代碼如下)。該應用在Lotus安裝目錄c:\Program Files\Lotus\Notes
中的notes.ini
以及用戶標識文件位於c:\Program Files\Lotus\Notes\Data
的系統上工作良好。用戶必須輸入密碼才能登錄到Lotus。該系統有HKLM\Software\Lotus\Notes\MultiUser
設置爲0
(單用戶系統)。在這臺機器上,下面的代碼在四個println
上顯示出很好的值。
在問題系統上,這個應用程序打印四個標題,但空白的四個值(用戶名,密鑰文件名,mailfile和mailserver都是空白的)。此問題系統有notes.ini
和D:\Data\johnsmith\NotesData
中的用戶標識文件。 Lotus安裝在C:\Program Files\Lotus\Notes
中。此問題系統還將HKLM\Software\Lotus\Notes\MultiUser
設置爲1
(意味着它是多用戶而不是單用戶)。最後,在Lotus的文件 - >安全 - >用戶安全對話框中,選中「使用操作系統登錄登錄到Notes」框(以便用戶不輸入密碼以登錄到Lotus)。
因此,看起來在問題系統上,找不到notes.ini
文件(因爲notes.ini
是應該從中讀取四個輸出值的地方)。我瀏覽了Notes.jar
API,看不到任何指定notes.ini
位置的方法。 notes.ini
所在的目錄位於Windows PATH
中,但這沒有幫助。
任何幫助,將不勝感激。
import java.io.*;
import lotus.domino.*;
public static void main(String[] args) throws IOException {
try {
NotesThread.sinitThread();
Session session = NotesFactory.createSession();
System.out.println("Common user name: " + session.getCommonUserName());
System.out.println("KeyFilename: " + session.getEnvironmentString("KeyFilename", true));
System.out.println("MailFile: " + session.getEnvironmentString("MailFile", true));
System.out.println("MailServer: " + session.getEnvironmentString("MailServer", true));
} catch (Exception ex) {
ex.printStackTrace();
} finally {
NotesThread.stermThread();
}
}
這些都是很好的建議。不幸的是他們都沒有工作。 – 2010-08-17 16:16:17