0
  1. http://dev.day.com/docs/en/crx/current/getting_started/first_steps_with_crx.html#Step%20Two:%20Check%20out%20CRX%20Bookstore%20Example からソースコードをチェックアウトしました
  2. http://:4502/products.html を呼び出そうとしたとき

  3. 実際の結果には、書店アプリの商品ページが表示されます

  4. "Cannot serve request to /products.html in /apps/bookstore/components/ranking/ranking.jsp: What version of the product are you using? On what operating system? I am using CQ5.5 (CRX 2.3) on Windows 7 http://code.google.com/p/crxzon/issues/detail?id=4&thanks=4&ts=1362987616
4

2 に答える 2

0

私が見たところ、フィールドがnullRankingServiceImpl:277であるため、でNullPointerExceptionが発生します。repository私が説明できる唯一の方法は、ビルド中に SCR 注釈が起動しなかったということです。

依存関係が以前のバージョン (5.4 だと思います) にあるように見えるので、バンドルが CQ 5.5 で開始されたことに実際に驚いています - ( CRX - Sample Bookstore Demo/system/console/bundlesの検索) の下でそれを再確認することをお勧めします。インポートが見つからない場合は、CQ 5.5 のようにバージョンを更新するか、CQ 5.4 で実行してみてください。/src/impl/com.day.crx.sample.bookshop.bnd

于 2013-03-11T08:18:18.270 に答える
0

RankingServiceImpl の注釈は、以前のバージョンの CQ および CRX 用のようです。これを機能させるために行った変更は次のとおりです。

import org.apache.felix.scr.annotations.Property;
import org.apache.felix.scr.annotations.Reference;


/**
 * Default implementation of the ranking service.
 * The ranking is updated through observation (based on OSGi events).
 * The service can be used by clients to get the highest ranked products.
 */
@Component(immediate = true)
@Service(value = RankingService.class)
@Property(name = org.osgi.service.event.EventConstants.EVENT_TOPIC, value = SlingConstants.TOPIC_RESOURCE_ADDED)
public class RankingServiceImpl
    implements RankingService, EventHandler, Runnable {

    private Logger logger = LoggerFactory.getLogger(this.getClass());
    // private Logger logger = LoggerFactory.getLogger("RankingServiceImpl");


    private static final String PROPERTY_PREV_RANKING = "lowerRankingRef";
    private static final String PROPERTY_NEXT_RANKING = "higherRankingRef";

    private static final int SHOW_HIGHEST_RANKING = 3;

    /** Flag for stopping the background service. */
    private volatile boolean running = false;

    /** A local queue for handling new orders. */
    protected final BlockingQueue<String> orders = new LinkedBlockingQueue<String>();

    @Reference
    private SlingRepository repository;

    @Reference
    private ResourceResolverFactory resourceResolverFactory;
于 2013-12-20T05:33:00.993 に答える