Пишу в IDEA 5.0. Понадобилось использовать DOM3 на JDK 1.4. Для этого необходимо корректно подключить Xerces (у меня 2.7.1). Первоначально я прописывал нужные библиотеки в File/Settings/Project/Libraries (Classpath), и Xerces на уровне DOM2 работал. Но для использования DOM3 необходимо подменить часть org.w3c.dom.* API. В Xerces они идут отдельным файлом xml-apis.jar.
Как это грамотно сделать, чтобы:
1. IDEA "видела" новые API интерфейсы (напр. Document), вместо старых во время разработки и при запуске из нее программы;
2. Все файлы, которые необходимо подменять шли вместе с дистрибутивом моего проекта. Так, чтобы я мог принести каталог с проектом от Idea на другую машину, где стоит голый JDK 1.4, и не надо было дополнительно менять что-то в этом установленном там JDK, чтобы проект нормально открывался и запускался через IDEA.
Что есть:
1. По справке понял, что надо использовать системное свойство java.endorsed.dirs, в котором прописать путь к новым API. Но не ясно, как его прописать в проекте в IDEA, чтобы из нее все это виделось.
2. Попробовал использовать отдельную копию SDK для своего проекта. В File/Settings/Project — Use project JDK прописал путь к копии JDK, лежащей в каталоге моего проекта, в которой в jre\lib\endorsed\ положил xml-apis.jar, а в Classpath добавил оставшиеся jarы от Xerces. В результате в IDEA стало видно нужные интерфейсы (в Document появился нужный мне метод renameNode — видно через автодополнение кода), но при запуске программы выдается ошибка о том, что метода renameNode нет. Попытался прописать в параметры запуска, VM parameters (окошко, кот. выводится перед стартом программы по Run/Run) строчку "-Djava.endorsed.dirs=E:\prg\xmledit_xerces\lib\xerces-2_7_1\". Там лежит xml-apis.jar. Не помогло.
Кстати, прописывать в endorsed нужно папку, где лежит jar или сам jar?