2017-10-06 5 views
0

まあ、私はOracle JSRに従って、私のプロジェクトで仕様を使用しようとしています。私はJBoss EAP 7をサーバーAPPとして使用しています。私のpom.xmlでJSR APIのみを使用してください

1) 私は私のプロジェクトで依存関係を休止している:

<dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>${hibernate.core.version}</version> 
     </dependency> 

これは仕様(JSR)に追従するための正しい方法は何ですか?または、私はちょうど休止状態の依存関係なしにJPAの依存関係を設定し、jbossがそれに注意を払うべきですか?

2) もう一つの例:私は、CDIを使用していて、私のプロジェクトで、私はCDIの実装としてWELDを持っている:

<dependency> 
      <groupId>org.jboss.weld</groupId> 
      <artifactId>weld-core-jsf</artifactId> 
      <version>2.3.3.Final</version> 
     </dependency> 

iはCDI-APIの依存関係のためにそれを交換する必要があり、JBossがとりましょう念願について気に?

JSRに従って実装から離れる正しい方法は何ですか?

+0

私によれば、永続性については、JPAを使用するべきです。そうすれば、プロジェクトで 'jpa'依存関係を定義するだけで、' jboss as7'でアプリケーションをデプロイする場合は、 'hibernate'依存関係を定義する必要はありません。これは 'jboss as7'がJPAを検出したことです(例えばpersistence.xmlや@ PersistenceContext/Unitアノテーションなど)。アプリケーションのデプロイメントにHibernateの依存関係を注入します.' [here](https: //www.jboss.org/author/display/AS7/JPA+Reference+Guide) –

+0

私は多くのサーバーアプリケーション(JBoss、glassfish ...)にPOMをデプロイします。 – RonaldoLanhellas

+0

その場合、追加する必要があります'jpa provider'の実装であり、' jboss as7'の場合は、(展開中の)jpaの検出を除外しなければなりません。 –

答えて

0

私はJBoss EAP 7を使用していません。 Java EE 7のフルプロファイルを実装する必要があります。その場合は、あなたが必要とするすべては、次のMavenの依存関係である:これは、限り、あなたは、フル機能のアプリケーション・サーバーのいずれか(Wildfly/JBossの、Glassfishのは、WebSphere上でアプリケーションを配備するように動作するはずです

<dependency> 
    <groupId>javax</groupId> 
    <artifactId>javaee-api</artifactId> 
    <version>7.0</version> 
    <scope>provided</scope> 
</dependency> 

、。 ..)Java EE 7をサポートしています。

+0

非常に便利です。このようにして、コンテナから独立したpomを作成します。 – RonaldoLanhellas

関連する問題