2011-02-05 22 views
25

maven-compiler-pluginに関して。プロジェクトのPOMファイルに設定が追加されています。構成は以下の通りです。endorseddirsとは、アプリケーションでどのように使用されていますか?

<plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>2.3.2</version> 
     <configuration> 
      <source>1.6</source> 
      <target>1.6</target> 
      <compilerArguments> 
       <endorseddirs>${endorsed.dir}</endorseddirs> 
      </compilerArguments> 
     </configuration> 
    </plugin> 
</plugins> 

それは、コンパイラの引数に<endorseddirs>がありますが、どのような意味ですか? Javaコンパイラはどのように動作しますか?

答えて

16

Endorsed Standards Override Mechanismのドキュメントから、newer versions of an endorsed standard than those included in the Java 2 Platform

あなたのプロジェクトが作成および/または、そのような実装を使用する必要があります提供するためのメカニズムです。

<endorseddirs>属性を指定すると、このフォルダにあるjarファイルを参照して、標準のjdkで同様に定義されたクラスを上書きするようJavaコンパイラに指示します。

+0

上記のリンクは今すぐ中断されました。私たちはこれに従うことができます:http://docs.oracle.com/javase/8/docs/technotes/guides/standards/ – mcoolive

6

Java documentation,java.endorsed.dirsは、承認された規格のオーバーライドメカニズムを提供するために使用されます。つまり、ユーザーは、JDKが提供するパッケージよりも新しいパッケージを提供することができます。 java.endorsed.dirsで指定されたディレクトリにこれらのパッケージの新しい実装がある場合、それらの実装はJDKに付属するデフォルトのものの代わりに読み込まれます。

このようにオーバーライドできるパッケージは、エンドース標準APIとスタンドアロンテクノロジにグループ化されており、Javaのマニュアルに記載されています。

は、大雑把に言えば承認済み標準のAPIが含まれます。

  • 持つjavax.rmi.CORBA
  • 様々なorg.omgを*パッケージ
  • org.w3c.domの
  • 様々なorg.xml.saxの。*パッケージ

スタンドアロン・テクノロジーズは、次のとおりです。

  • XML処理(JAXP)、バインディングXML(JAXB)のバージョン1.4
  • のJavaアーキテクチャーのためのJava API、バージョン2.0
  • XMLベースのWebサービス(JAX-WS)用のJava API、バージョン2.0
  • JavaコンパイラのAPI、バージョン1.0
  • プラグイン可能な注釈処理のAPI、バージョン1.0のJavaプラットフォームのための
  • 共通アノテーション、Javaプラットフォームのバージョン1.0
  • スクリプティング、バージョン1.0
  • SOAP for Attachments API for Java(SAAJ)、バージョン1.3
関連する問題