4

Tomcat7で最終的に展開するためにWindows2008R2でcocoon2.1.10をビルドするためにjavaJDK7を使用しています。cocoonソースファイルをダウンロードして解凍し、JAVA_HOME変数を設定してから、build.batを実行しようとしました。提供されたファイル。11種類のコンパイルエラーが発生します。



    D:\cocoon-2.1.10-src\cocoon-2.1.10>build.bat
    Buildfile: build.xml

    prepare:
    ====================================================================
                     Apache Cocoon 2.1.10 [1999-2006]
    ====================================================================
     Building with Apache Ant version 1.6.5 compiled on June 2 2005
    --------------------------------------------------------------------
     Using build file D:\cocoon-2.1.10-src\cocoon-2.1.10\build.xml
    --------------------------------------------------------------------
     Compiler options:
       - debug ......... [on]
       - optimize ...... [on]
       - deprecation ... [off]
    ====================================================================

    compile-core:
    Compiling 594 source files to D:\cocoon-2.1.10-src\cocoon-2.1.10\build\cocoon\classes
    D:\cocoon-2.1.10-src\cocoon-2.1.10\src\java\org\apache\cocoon\reading\ImageReader.java:39: error: package com.
    sun.image.codec.jpeg does not exist
    import com.sun.image.codec.jpeg.ImageFormatException;
                                   ^
    D:\cocoon-2.1.10-src\cocoon-2.1.10\src\java\org\apache\cocoon\reading\ImageReader.java:40: error: package com.
    sun.image.codec.jpeg does not exist
    import com.sun.image.codec.jpeg.JPEGCodec;
                                   ^
    D:\cocoon-2.1.10-src\cocoon-2.1.10\src\java\org\apache\cocoon\reading\ImageReader.java:41: error: package com.
    sun.image.codec.jpeg does not exist
    import com.sun.image.codec.jpeg.JPEGEncodeParam;
                                   ^
    D:\cocoon-2.1.10-src\cocoon-2.1.10\src\java\org\apache\cocoon\reading\ImageReader.java:42: error: package com.
    sun.image.codec.jpeg does not exist
    import com.sun.image.codec.jpeg.JPEGImageEncoder;
                                   ^
    D:\cocoon-2.1.10-src\cocoon-2.1.10\src\java\org\apache\cocoon\reading\ImageReader.java:326: error: cannot find
     symbol
                        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
                        ^
      symbol:   class JPEGImageEncoder
      location: class ImageReader
    D:\cocoon-2.1.10-src\cocoon-2.1.10\src\java\org\apache\cocoon\reading\ImageReader.java:326: error: cannot find
     symbol
                        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
                                                   ^
      symbol:   variable JPEGCodec
      location: class ImageReader
    D:\cocoon-2.1.10-src\cocoon-2.1.10\src\java\org\apache\cocoon\reading\ImageReader.java:327: error: cannot find
     symbol
                        JPEGEncodeParam p = encoder.getDefaultJPEGEncodeParam(currentImage);
                        ^
      symbol:   class JPEGEncodeParam
      location: class ImageReader
    D:\cocoon-2.1.10-src\cocoon-2.1.10\src\java\org\apache\cocoon\reading\ImageReader.java:333: error: cannot find
     symbol
                        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bstream);
                        ^
      symbol:   class JPEGImageEncoder
      location: class ImageReader
    D:\cocoon-2.1.10-src\cocoon-2.1.10\src\java\org\apache\cocoon\reading\ImageReader.java:333: error: cannot find
     symbol
                        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bstream);
                                                   ^
      symbol:   variable JPEGCodec
      location: class ImageReader
    D:\cocoon-2.1.10-src\cocoon-2.1.10\src\java\org\apache\cocoon\reading\ImageReader.java:334: error: cannot find
     symbol
                        JPEGEncodeParam p = encoder.getDefaultJPEGEncodeParam(currentImage);
                        ^
      symbol:   class JPEGEncodeParam
      location: class ImageReader
    D:\cocoon-2.1.10-src\cocoon-2.1.10\src\java\org\apache\cocoon\reading\ImageReader.java:342: error: cannot find
     symbol
                } catch (ImageFormatException e) {
                         ^
      symbol:   class ImageFormatException
      location: class ImageReader
    11 errors

    BUILD FAILED
    D:\cocoon-2.1.10-src\cocoon-2.1.10\tools\targets\compile-build.xml:68: The following error occurred while exec
    uting this line:
    D:\cocoon-2.1.10-src\cocoon-2.1.10\tools\targets\compile-build.xml:51: Compile failed; see the compiler error
    output for details.


また、コマンドラインで「buildwar」を使用してみましたが、同じ結果が得られました。

これは私が使用しているJDKの問題ですか、それとも他に確認する必要があるものがありますか?これは繭を構築して展開する私の最初の試みです、私は明白な何かを逃している可能性があります。

よろしく、トニー

4

3 に答える 3

4

非推奨のプロプライエタリcom.sun.image.jpeg.codecパッケージはJDK7から削除されました(この公式の公式JDK7互換性ノートを参照してください)。したがって、コンパイルの問題。

状況によってはCocoonソースにパッチを適用することはできない場合があるため、最短パスはJDK 6を使用してコンパイルすることです(以前のCocoon 2.1シリーズには「Java1.3以降」が必要です)。

(ただし、そうである場合は、特定のCocoonおよびJDKバージョンが必要と思われるため、com.sun.image.codec.jpeg.JPEGImageEncoderを標準のJavaイメージの呼び出しに置き換える方法に関するSO Q&Aを確認することをお勧めします。 I / O API)


com.sun.image.jpeg.codec別のオプションは、ビルド(および場合によってはランタイム)クラスパスに含めるパッケージの個別のディストリビューションを調べることです。このオプションの可用性(および使いやすさ)についてはよくわかりません。とにかく、他のすべてのパスが行き止まりであることが証明されない限り、私はそれを掘り下げることをお勧めしません...

于 2012-10-12T08:48:05.167 に答える
1

私の場合、このエラーの解決策は次のとおりです。承認されたフォルダを検索します。パスにあるはずです:cocoon-2.1.11-src \ cocoon-2.1.11 \ lib\endorsedこのフォルダを現在のJAVA_HOME/jre/libにコピーしますもう一度ビルドしてみてください。これがあなたの問題を解決することを願っています

于 2012-12-21T14:58:08.227 に答える
0

私はこれが古いことを知っていますが、誰かが興味を持った場合に備えて、私は最近エラーなしで繭2.1を構築することができました

ただし、現在のdevブランチ(2_1_X)から最新のソースを取得する必要がありました。これは、このバグが修正されたことがわかったためですが、最新リリース(2.1.12)にはまだ含まれていませんでした。

私は実際にJDK8でビルドし、Tomcat8で実行することができました。これを正しく機能させるにはいくつかの調整が必要でした。

于 2014-10-31T22:36:41.197 に答える