2015-02-08 5 views
1

Я пытаюсь сделать простой HelloWorld надстройку с помощью Atlassian-подключения-игры-Java:Надстройка не отвечает. Подождите или отмените?

Мой контроллер:

package controllers; 
import views.html.*; 
import com.atlassian.connect.play.java.controllers.AcController; 
import com.google.common.base.Supplier; 
import play.mvc.Controller; 
import play.mvc.Result; 
public class Application extends Controller { 
    public static Result index() 
    { 
     return AcController.index(home(), descriptor()); 
    } 
    private static Supplier<Result> descriptor() 
    { 
     return new Supplier<Result>() 
     { 
      @Override 
      public Result get() 
      { 
       return AcController.descriptor(); 
      } 
     }; 
    } 
    private static Supplier<Result> home() 
    { 
     return new Supplier<Result>() 
     { 
      @Override 
      public Result get() 
      { 
       return ok(index.render("Hello")); 
      } 
     }; 
    } 
} 

Мои маршруты Файл:

GET/controllers.Application.index() 
GET /assets/*file controllers.Assets.at(path="/public", file) 
->/ac.Routes 

Мой индекс: scala.html файл:

@(message: String) 
@main("Welcome to Play") { 
     <p>@message</p> 

} 

Мой main.scala.html файл:

@(title: String)(content: Html) 
<!DOCTYPE html> 
<html> 
    <head> 
     <title>@title</title> 

     <script src="http://localhost:1990/confluence/atlassian-connect/all.js" type="text/javascript"></script> 
     <link rel="stylesheet" href="//aui-cdn.atlassian.com/aui-adg/5.4.3/css/aui.css" media="all"> 
     <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")"> 
     <link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.png")"> 
     <script src="@routes.Assets.at("javascripts/jquery-1.9.0.min.js")" type="text/javascript"></script> 
    </head> 
    <body> 
     <div class="ac-content"> 
     <p>@content</p> 
    </div> 

    </body> 
</html> 

Мой Atlassian-connect.json файл:

{ 
    "key": "${addonKey}", 
    "name": "${addonName}", 
    "description": "Atlassian Connect add-on", 

    "baseUrl": "${localBaseUrl}", 
    "vendor": { 
     "name": "Atlassian", 
     "url": "http://www.atlassian.com" 
    }, 
    "authentication": { 
     "type": "none" 
    }, 

    "modules": { 
    "generalPages": [ 
     { 
     "url": "/", 
     "key": "test-application", 
     "location": "system.user", 
     "name": { 
      "value": "Test" 
     } 
     } 
    ] 
    }, 
    "scopes": ["READ"] 
} 

При запуске моего приложения воспроизведения, все работает отлично.

Но когда я устанавливаю мой плагин на локальном экземпляре Слияния и запустить его, надстройки, в содержание никогда не прекращает загрузку, я получаю следующее сообщение:

Дополнительный не отвечает. ждать или отменить?

Я попытался найти проблему, но не смог, может кто-то помочь? Спасибо.

ответ

3

Все дополнения Atlassian Connect требуют загрузки ресурса Javascript для загрузки, поэтому он может создать мост между вашим надстройкой и хост-окружением. Загрузчик сидит там и ждет, пока мост будет установлен. Это значит, что вы не указали all.js.

Пример делать: https://bitbucket.org/atlassian/whoslooking-connect/src/9066821fe168737b94d5b1e8ad520befb200ec99/app/views/poller.scala.html?at=master#cl-43

Дважды проверьте консоль вашего браузера на наличие ошибок, хотя, если это не исправить ваши проблемы. Вероятно, он подскажет, в чем проблема. Также проверьте вкладку сети (возможно, с перезагрузкой), чтобы убедиться, что все ресурсы загружены.

Некоторые фреймворки также генерируют заголовок X-Frame-Origin: SAMEORIGIN по умолчанию, заставляя браузер никогда не загружать содержимое iframe. Это не должно быть в случае atlassian-connect-play.

+0

Да, пришлось положить это в голову: '' –

1

Спасибо за ответ :)

URL-адрес, который я указал в дескрипторе был недействительным. Простой «/» или пустой URL-адрес «не был принят путем слияния, поэтому мне пришлось изменить его на«/home »и изменить файл маршрутов.