2017-02-20 3 views
0

Mavenにjavax.persistence依存関係を持つJava 1.7をターゲットにする方法を教えてください。私は、pom.xmlファイルでこれを設定しています

<properties> 
    <maven.compiler.source>1.7</maven.compiler.source> 
    <maven.compiler.target>1.7</maven.compiler.target> 
</properties> 


<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.6.1</version> 
     </plugin> 
    </plugins> 
</build> 

私は.jarファイルを開いててjavapの-vとの.classファイルをチェックインすると、それは「メジャーバージョン:52」を出力1.8に対応します私の設定を尊重していないことがわかります。

私はのjavax.persistenceへの依存性があります:私はしたいターゲットである:私は、-vてjavap出力「51メジャーバージョンを」この依存関係を削除した場合

<dependencies> 
    <dependency> 
     <groupId>javax.persistence</groupId> 
     <artifactId>persistence-api</artifactId> 
     <version>1.0.2</version> 
    </dependency> 
</dependencies> 

を。

しかし、私は依存関係が必要です。

javax.persistence依存関係で1.7をターゲットにすることは可能ですか?どうやって?

設定したJava 1.7をターゲットできなかった場合は、コンパイルエラーが予想されました。

私はIntelliJ IDEAを使用しています。

ありがとうございました。

+0

私はそれを単純なプロジェクトでチェックしましたが、この依存関係が存在しても出力クラスのバージョンには影響しません。 プロジェクトには何か他のものが必要です。 –

答えて

0

これを試しましたか?

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.5.1</version> 
      <configuration> 
       <source>1.7</source> 
       <target>1.7</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
+0

これは元のポスターが使っているものと全く同じです。違いはありません。 – khmarbaise

+0

私は試しましたが、それは同等であるようです。 –

+0

私はこの正確な依存関係のプラグインとjavax.persistenceの依存関係を持つプロジェクトを持っているので、それは問題なく動作すると思っていました。私はあなたのプロジェクト設定とは異なる何かがあるかもしれないと思うでしょう。 –

関連する問題