Пользовательский макрос слияния не отображается в браузере макросов

Я следую официальному руководству по написанию собственного макроса для версии 5.9.7 слияния. Единственное, что я изменил в этом уроке - это имя плагина и имя пакета, которое вы можете увидеть в прикрепленном здесь файле. После запуска altas-run.bat, я могу найти на странице конфигурации системы в Confluence, что плагин успешно установлен и включен с обоими модулями. Но когда я попытался вставить этот макрос в страницу, я не смог найти его в браузере макросов.

Затем я последовал другому уроку, написав плагин с JSON точно таким же шагом, все идет хорошо, как и предыдущий, но все еще не могу найти макрос в браузере макросов. Я потратил несколько часов на эту проблему и сыт по горло.

ExampleMacro.java находится под пакетом com.example.api, Тот же код, что и в учебнике. Ниже приведен файл описания плагина. Pom генерируется автоматически при запуске atlas-create-confluence-plugin.bat. Ничего не изменилось, за исключением версии слияния с 5.9.7.

<atlassian-plugin key="${atlassian.plugin.key}" name="${project.name}" plugins-version="2">
    <plugin-info>
        <description>${project.description}</description>
        <version>${project.version}</version>
        <vendor name="${project.organization.name}" url="${project.organization.url}" />
        <param name="plugin-icon">images/pluginIcon.png</param>
        <param name="plugin-logo">images/pluginLogo.png</param>
    </plugin-info>

    <xhtml-macro name="my-confluence-plugin" class="com.example.api.ExampleMacro" key="my-macro">
        <parameters/>
        <category name="navigation" />
    </xhtml-macro>
    <!-- add our i18n resource -->
    <resource type="i18n" name="i18n" location="my-confluence-plugin"/>

    <!-- add our web resources -->
    <web-resource key="my-confluence-plugin-resources" name="my-confluence-plugin Web Resources">
        <dependency>com.atlassian.auiplugin:ajs</dependency>

        <resource type="download" name="my-confluence-plugin.css" location="/css/my-confluence-plugin.css"/>
        <resource type="download" name="my-confluence-plugin.js" location="/js/my-confluence-plugin.js"/>
        <resource type="download" name="images/" location="/images"/>
        <context>my-confluence-plugin</context>
    </web-resource>

</atlassian-plugin>

Я нашел сообщение об ошибке в консоли atlas-run после чистого запуска, которое, я думаю, может предоставить некоторую информацию:

[INFO] [talledLocalContainer] 2016-03-31 14:00:29,799 WARN [UpmScheduler:thread-2] [atlassian.upm.pac.PacClientImpl] fetchMpacAppInfo Error when querying application info from MPAC: com.atlassian.marketplace.client.MpacException: java.net.UnknownHostException: marketplace.atlassian.com
[INFO] [talledLocalContainer] 2016-03-31 14:00:32,829 ERROR [AtlassianEvent::CustomizableThreadFactory-1] [atlassian.plugin.module.PrefixDelegatingModuleFactory] createModule Detected an error instantiating the module via Spring. This usually means that you haven't created a <component-import> for the interface you're trying to use. https://developer.atlassian.com/x/TAEr  for more details.
[INFO] [talledLocalContainer] 2016-03-31 14:00:32,830 WARN [AtlassianEvent::CustomizableThreadFactory-1] [impl.macro.metadata.AllMacroMetadataCache] lambda$loadMacroMetadata$1 Failed to make metadata for module 'com.example.my-confluence-plugin:my-macro': Error creating bean with name 'com.example.api.ExampleMacro': Unsatisfied dependency expressed through constructor argument with index 0 of type [com.atlassian.confluence.xhtml.api.XhtmlContent]: : No qualifying bean of type [com.atlassian.confluence.xhtml.api.XhtmlContent] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.atlassian.confluence.xhtml.api.XhtmlContent] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
[INFO] [talledLocalContainer] org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'com.example.api.ExampleMacro': Unsatisfied dependency expressed through constructor argument with index 0 of type [com.atlassian.confluence.xhtml.api.XhtmlContent]: : No qualifying bean of type [com.atlassian.confluence.xhtml.api.XhtmlContent] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.atlassian.confluence.xhtml.api.XhtmlContent] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}

Почему он жалуется, что не найден квалифицирующий компонент типа XhtmlContent?

1 ответ

Решение

Я использую Atlassian SDK v6.2.4.

Просто разобрался с проблемой. Похоже, что это общая проблема, с которой встречались многие люди. Для того, кто также использует последний SDK и следит за текущим уроком по Confluence, пожалуйста, смотрите мой ответ на форуме Atlassian здесь: https://answers.atlassian.com/questions/38064029/answers/38064450

Другие вопросы по тегам