2016-09-13 2 views
2

Библиотеки общих библиотек Java являются опрятной функцией для 2.2 Xcp Documentum, но в этом конкретном случае проблематично.Xcp 2.2 Общие библиотеки для JAVA-сервисов

Немного фона: мне нужно перейти от проекта 2.0 Xcp к версии 2.2. Я начал новый проект и постепенно добавил все артефакты, пользовательские виджеты и источники, поскольку переход с 2.0 на 2.2 напрямую невозможен.

Модули java из старого проекта находятся в модулях Artifacts/Java в виде файлов .javamodule. Каждый файл .javamodule имеет список реализацииJars, где указан каждый путь содержимого необходимых фляг. Это хорошо, так как у меня есть несколько .javamodule, которые используют одни и те же библиотеки, но с разными версиями, и я могу контролировать, какие библиотеки будут использоваться для этого .javamodule.

Когда я пытаюсь сделать то же самое в Xcp 2.2, все банки хранятся в одном месте (вот почему это «Общие библиотеки Java-сервисов») и в файлах .javaservice, которые создаются автоматически (эквивалент 2.2 .javamodule) Я не могу указать, какую библиотеку jar следует использовать. Могу ли я «разобрать» библиотеки или есть нотация .javaservice, которая может использоваться для указания конкретных библиотек jars для этого .javaservice?

ответ

0

Лично я не работал над проектом, который использовал дизайнер 2.0 или 2.2, но из того, что я вижу в Designer и Release Notes, вещи не менялись от 2.1 -> 2.2.

При создании новой Java-службы вам необходимо указать для нее первичный класс. Если у вас есть доступные классы Java для выбора класса для вашей Java-службы, вы можете пропустить добавление новой банки. В противном случае вам нужно предоставить jar с классом, который вы выберете в качестве класса для вашей Java-службы.

Как только у вас есть служба Java, вы можете использовать ее в процессах или где-либо еще, что предполагается использовать.

Когда вы открываете файл *.javaservice, вы увидите, что он имеет primaryClassName, где он содержит значение, указанное для класса, используемого вашей службой Java.

Таким образом, ответ на ваш вопрос будет следующим: каждая банка, добавленная в приложение xCP, может использоваться для любой службы Java. Я помню, что у меня было множество ошибок при разработке приложения и экстенсивной корректировке кода Java, используемого Java Services, но я надеюсь, что инженеры EMC исправили его в новых версиях. Если у вас возникнут проблемы с возвратом на SO. :)

+0

Когда вы говорите «настройка кода Java», вы имеете в виду, что вы убедитесь, что библиотеки, которые нужны 2 javaservices, являются одной и той же версией? Если мне нужно использовать библиотеку commons-lang, а классы a.jar нужно вызвать методы commons-lang-2.4, а b.jar - версия 2.3, как я могу гарантировать, что методы b.jar вызывают методы из commons-lang-2.3 версии , а не 2.4? – user3897404

+0

Возможно, я использовал неправильный термин. Я думал о базовом изменении кода по любой причине. вы действительно не хотите использовать разные версии одной и той же библиотеки в одном проекте, независимо от xcp или любого другого java-проекта. это ярлык для аддона класса. – Miki

Смежные вопросы