波多野结衣 蜜桃视频,国产在线精品露脸ponn,a v麻豆成人,AV在线免费小电影

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了Maven 3-如何添加批注處理器依賴?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我需要對我的項目源代碼運行批注處理器。批注處理器不應成為項目的可傳遞依賴項,因為它只用于批注處理而不需要其他任何東西。

以下是我為此使用的完整(非工作)測試POM:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>test</groupId>
  <artifactId>test</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Test annotations</name>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <hibernate-jpamodelgen.version>1.2.0.Final</hibernate-jpamodelgen.version>
  </properties>
  <dependencies>
    <dependency>
      <groupId>javax</groupId>
      <artifactId>javaee-api</artifactId>
      <version>6.0</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.0</version>
        <configuration>
          <annotationProcessors>
            <annotationProcessor>
              org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</annotationProcessor>
          </annotationProcessors>
          <debug>true</debug>
          <optimize>true</optimize>
          <source>1.6</source>
          <target>1.6</target>
          <compilerArguments>
            <AaddGeneratedAnnotation>true</AaddGeneratedAnnotation>
            <Adebug>true</Adebug>
          </compilerArguments>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-jpamodelgen</artifactId>
            <version>${hibernate-jpamodelgen.version}</version>
          </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>
</project>

我在測試的插件配置中將org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor顯式定義為批注處理器,我知道它不應該是必需的。

我遇到的問題是hibernate-jpamodelgen依賴項未添加到編譯器類路徑,因此找不到批注處理器,構建失敗。

按照這個answer,我嘗試將依賴項添加為構建擴展(不確定我是否理解它們應該是什么!)如下所示:

<extensions>
  <extension>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-jpamodelgen</artifactId>
    <version>${hibernate-jpamodelgen.version}</version>
  </extension>
</extensions>

這也不會將hibernate-jpamodelgen添加到編譯器類路徑。

到目前為止,我發現唯一有效的方法是將依賴項添加到<dependencies>部分中的項目中。這有一個不幸的副作用,那就是添加hibernate-jpamodelgen作為傳遞依賴項,這是我想要避免的。

我之前的工作設置使用maven-processor-plugin插件來實現我想要的功能。然而,eclipse M2E不支持該插件,并且最新版本的maven-compiler-plugin現在可以正確處理多個編譯器參數,所以我更喜歡使用后者。

推薦答案

添加依賴項為optional dependency(<optional>true</optional>)。這將在編譯下添加依賴項,但會阻止它成為可傳遞依賴項:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-jpamodelgen</artifactId>
  <version>${hibernate-jpamodelgen.version}</version>
  <optional>true</optional>
</dependency>

如果您要在此模塊中創建一個包含所有依賴項的構件(如.war),則可以使用<scope>provided</scope>。這既防止了依賴項是可傳遞的,也防止了依賴項包含在模塊生成的構件中。

這篇關于Maven 3-如何添加批注處理器依賴?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:Maven 依賴 處理器 批注 添加
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定