0

1 月 20 日の「データ中心のリッチ インターネット アプリケーションのレシピ」というタイトルの Vaadin ブログ投稿の下部にある SimpleCRM サンプル アプリ (vaadin-jpa-app) のインポートに問題があります ( リンク: https://vaadin .com/blog/-/blogs/a-recipe-for-a-data-centric-rich-internet-application )

README.md で説明されているように、 https: //hub.jazz.net/git/vaadin/vaadin-jpa-appからリポジトリを git clone した後、プロジェクトを Maven プロジェクトとして Eclipse Luna にインポートしようとしましたが、残念ながら受け取りましたpom.xml ファイルに関連する次のエラー:

vaadin-maven-plugin:7.3.7:resources vaadin-maven-plugin:7.3.7:update-theme vaadin-maven-plugin:7.3.7:update-widgetset

とにかくアプリケーションを WebSphere Liberty Profile Server にデプロイしようとしましたが、「Context Root Not Found」エラーが発生します。

また、WebSphere Application Server Liberty Profile の下の server.xml ファイルで、「 README.md の「ローカル開発」セクション ( https://hub.jazz.net/project/vaadin/vaadin-jpa-app/overviewから)

このプロセスに詳しい人が、私が何をすべきかを教えてくれますか? それは大歓迎です。ありがとう!

(手続き開始)

準備:

1) Eclipse では、Eclipse Marketplace ( http://marketplace.eclipse.org/content/ibm-websphere-application-server-liberty-profile-developer-tools-luna-0 )経由で WebSphere Application Server Liberty Profile をインストールしました。

2) Eclipse の Enterprise Explorer の下で、WebSphere Application Server Liberty Profile | サーバー | デフォルトサーバー | server.xml に、Readme に記載されている JDBC ドライバー構成スニペットを追加しました。また、投稿されたスニペットに従ってコードを変更しました。

3) Readme に記載されているように、適切なディレクトリに derby.jar ファイルを追加しました。

4) m2e-wtp コネクタをインストールしました ( http://marketplace.eclipse.org/content/maven-java-ee-integration-eclipse-wtp-luna )

5) Git Shell を使用して、git clone https://hub.jazz.net/git/vaadin/vaadin-jpa-app

アプリケーションのデプロイ:

6) その後、Eclipse で、先ほど複製した vaadin-jpa-app ディレクトリを「既存の Maven プロジェクト」としてインポートします。これにより、Eclipse Enterprise Explorer に vaadin-jpa-app プロジェクトと vaadin-jpa-applicationEAR プロジェクトが作成されます。

7) この時点で、前述の 3 つの「エラー」は、各「エラー」のアクションとして「実行しない (pom に追加)」を選択することで修正されます。(説明: Maven プラグインをビルドに追加する pom で実行を無視するように m2e に指示するメタデータを配置します。)

8) 「vaadin-jpa-application [vaadin-jpa-app master]」プロジェクトを右クリックし、[Run As |] を選択します。Maven インストール。

9) 「vaadin-jpa-application [vaadin-jpa-app master]」プロジェクトを右クリックし、[Run As |] を選択します。サーバー上で実行。

10) localhost で WebSphere Application Server Liberty Profile を選択し、vaadin-jpa-application のみ (vaadin-jpa-applicationEAR ではなく) が「Configured:」列の下にあることを確認します。これにより、404 エラーが発生します。

(コンソール出力の開始)

Launching defaultServer (WebSphere Application Server 8.5.5.4/wlp-1.0.7.cl50420141211-1039) on Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_25-b18 (en_US)
[AUDIT   ] CWWKE0001I: The server defaultServer has been launched.
[AUDIT   ] CWWKZ0058I: Monitoring dropins for applications. 
[ERROR   ] SRVE9990E: The class org.vaadin.presentation.Servlet has a @WebServlet annotation but does not implement the javax.servlet.http.HttpServlet interface.
[ERROR   ] SRVE9991E: The class org.vaadin.presentation.CompressionFilter has a @WebFilter annotation but does not implement the javax.servlet.Filter interface.
[WARNING ] CWWJP9991W: openjpa.Enhance: Warn: An exception was thrown while attempting to perform class file transformation on "org.vaadin.backend.domain.Customer":
      Exception : java.lang.NoClassDefFoundError
    java.lang.NoClassDefFoundError: Lcom/vividsolutions/jts/geom/Point;
[WARNING ] CWWJP9991W: openjpa.Enhance: Warn: An exception was thrown while attempting to perform class file transformation on "org.vaadin.backend.domain.Customer":
      Exception : java.lang.NoClassDefFoundError
    java.lang.NoClassDefFoundError: Lcom/vividsolutions/jts/geom/Point;
[WARNING ] CWNEN0049W: Resource annotations on the methods of the org.vaadin.backend.CustomerService class will be ignored. The annotations could not be obtained because of the exception : <openjpa-2.2.3-SNAPSHOT-r422266:1595313 nonfatal general error> org.apache.openjpa.util.GeneralException: Lcom/vividsolutions/jts/geom/Point;
[WARNING ] CWWJP9991W: openjpa.Enhance: Warn: An exception was thrown while attempting to perform class file transformation on "org.vaadin.backend.domain.Customer":
      Exception : java.lang.NoClassDefFoundError
    java.lang.NoClassDefFoundError: Lcom/vividsolutions/jts/geom/Point;
[ERROR   ] CNTR4006E: The CustomerService enterprise bean in the vaadin-jpa-application.war module of the vaadin-jpa-application application failed to start. Exception: <openjpa-2.2.3-SNAPSHOT-r422266:1595313 nonfatal general error> org.apache.openjpa.util.GeneralException: Lcom/vividsolutions/jts/geom/Point;
    at org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCClassFileTransformer.java:164)
    at org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTransformer.java:126)
    at org.apache.openjpa.persistence.PersistenceProviderImpl$ClassTransformerImpl.transform(PersistenceProviderImpl.java:290)
    at com.ibm.ws.jpa.management.JPAPUnitInfo.transformClass(JPAPUnitInfo.java:1380)
    at [internal classes]
Caused by: java.lang.NoClassDefFoundError: Lcom/vividsolutions/jts/geom/Point;
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Class.java:2575)
    at java.lang.Class.getDeclaredFields(Class.java:1908)
    at org.apache.openjpa.lib.util.J2DoPrivHelper$7.run(J2DoPrivHelper.java:297)
    at org.apache.openjpa.lib.util.J2DoPrivHelper$7.run(J2DoPrivHelper.java:295)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.openjpa.persistence.PersistenceMetaDataDefaults.determineImplicitAccessType(PersistenceMetaDataDefaults.java:366)
    at org.apache.openjpa.persistence.PersistenceMetaDataDefaults.determineAccessType(PersistenceMetaDataDefaults.java:334)
    at org.apache.openjpa.persistence.PersistenceMetaDataDefaults.populate(PersistenceMetaDataDefaults.java:276)
    at org.apache.openjpa.meta.MetaDataRepository.addMetaData(MetaDataRepository.java:920)
    at org.apache.openjpa.meta.MetaDataRepository.addMetaData(MetaDataRepository.java:905)
    at org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.getMetaData(AnnotationPersistenceMetaDataParser.java:752)
    at org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parseClassAnnotations(AnnotationPersistenceMetaDataParser.java:545)
    at org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parse(AnnotationPersistenceMetaDataParser.java:415)
    at org.apache.openjpa.persistence.PersistenceMetaDataFactory.load(PersistenceMetaDataFactory.java:260)
    at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:586)
    at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:396)
    at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:388)
    at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:286)
    at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:257)
    at org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCClassFileTransformer.java:146)
    ... 4 more
Caused by: java.lang.ClassNotFoundException: Could not find class 'com.vividsolutions.jts.geom.Point' as resource 'com/vividsolutions/jts/geom/Point.class'
    ... 29 more

[AUDIT   ] CWWKT0016I: Web application available (default_host): http://localhost:9080/vaadin-jpa-application/
[AUDIT   ] CWWKZ0001I: Application vaadin-jpa-application started in 4.171 seconds.
[AUDIT   ] CWWKF0011I: The server defaultServer is ready to run a smarter planet.
[WARNING ] CWWJP9991W: openjpa.Enhance: Warn: An exception was thrown while attempting to perform class file transformation on "org.vaadin.backend.domain.Customer":
      Exception : java.lang.NoClassDefFoundError
    java.lang.NoClassDefFoundError: Lcom/vividsolutions/jts/geom/Point;
[WARNING ] CWWJP9991W: openjpa.Enhance: Warn: An exception was thrown while attempting to perform class file transformation on "org.vaadin.backend.domain.Customer":
      Exception : java.lang.NoClassDefFoundError
    java.lang.NoClassDefFoundError: Lcom/vividsolutions/jts/geom/Point;
[WARNING ] CWNEN0049W: Resource annotations on the methods of the org.vaadin.backend.CustomerService class will be ignored. The annotations could not be obtained because of the exception : <openjpa-2.2.3-SNAPSHOT-r422266:1595313 nonfatal general error> org.apache.openjpa.util.GeneralException: Lcom/vividsolutions/jts/geom/Point;
[WARNING ] CWWJP9991W: openjpa.Enhance: Warn: An exception was thrown while attempting to perform class file transformation on "org.vaadin.backend.domain.Customer":
      Exception : java.lang.NoClassDefFoundError
    java.lang.NoClassDefFoundError: Lcom/vividsolutions/jts/geom/Point;
4

1 に答える 1

3

開始するときは、追加のプラグインがなく、liberty プロファイル プラグインの最新バージョン (またはそのベータ リリース) がインストールされている Eclipse インストールがあることを確認してください。他の Eclipse プラグインは、デプロイメントを妨げる可能性があります。

また、サンプル プロジェクト (git pull) の最新バージョンがあることを確認してください。Liberty と Vaadin CDI はどちらも、過去 2 か月間で急速に発展しており、いくつかの小さな非互換性があった可能性があります。

Eclipseが言う「エラー」は、Eclipseがそれらのビルド設定を内部で処理する方法を知らないということです。Eclipseがそれらを無視するようにそれらをマークし、完全なビルド(mvn install)を1回実行して、クライアント側のリソースをコンパイルすることができます。

Eclipse が war ファイルをインポートするときに「ear プロジェクト」を作成する場合は、それを削除して war ファイルのみをデプロイします。

server.xml で、必要な機能を有効にする必要があります。アプリにはサーブレット、JPA、EBJ lite、および CDI が必要ですが、Java ee 6 Web プロファイル全体を有効にする方がおそらく簡単で、ほぼ同じくらい軽量です。これは、私が liberty サーバーでほぼ常に使用しているものです。

<!-- Enable features -->
<featureManager>
    <feature>localConnector-1.0</feature>
    <feature>webProfile-6.0</feature>
</featureManager>

指示に従って derby jar を追加し、データ ソースを定義すると、問題なく動作するはずです。まだ問題がある場合はお知らせください。

于 2015-02-11T19:31:13.067 に答える