gpt4 book ai didi

java - org.bsc.maven.maven-processor-plugin 不适用于 java 1.7 及更高版本

转载 作者:太空宇宙 更新时间:2023-11-04 06:21:24 24 4
gpt4 key购买 nike

我有一个GitHub repository我在其中托管一些 Hibernate 示例并生成 JPA MetaModel 类,我一直在使用以下 Maven 插件:

<plugin>
<groupId>org.bsc.maven</groupId>
<artifactId>maven-processor-plugin</artifactId>
<version>2.0.5</version>
<executions>
<execution>
<id>process</id>
<goals>
<goal>process</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<outputDirectory>target/generated-sources/java/</outputDirectory>
<processors>
<processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor
</processor>
</processors>
</configuration>
</execution>
</executions>
</plugin>

使用 Java 1.6 一切都运行得很好,但是当我切换到 Java 1.7 时,出现以下错误:

[INFO] javac option: D:\wrk\vladmihalcea\vladmihalcea.wordpress.com\hibernate-facts\target\generated-sources\java
[INFO] diagnostic Note: Hibernate JPA 2 Static-Metamodel Generator 1.0.0.Final
[INFO] diagnostic warning: Supported source version 'RELEASE_6' from annotation processor 'org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor' less than -source '1.7'
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.store.Version_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.baglist.BagTree_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.store.Product_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.store.Importer_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.linkedset.LinkedParent_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.fetch.FetchChild_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.store.Company_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.store.SubVersion_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.baglist.BagLeaf_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.indexlist.Branch_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.linkedset.LinkedChild_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.indexlist.Tree_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.bag.Child_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.baglist.BagForest_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.indexlist.Leaf_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.bag.Parent_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.eagerset.SetParent_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.store.WarehouseProductInfo_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.eagerset.SetChild_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.fetch.FetchParent_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.store.Image_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.baglist.BagBranch_' created in the last round will not be subject to annotation processing.
[INFO] diagnostic warning: File for type 'com.vladmihalcea.hibernate.model.indexlist.Forest_' created in the last round will not be subject to annotation processing.
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ hibernate-facts ---
[WARNING] Using platform encoding (Cp1250 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 3 resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ hibernate-facts ---
[WARNING] File encoding has not been set, using platform encoding Cp1250, i.e. build is platform dependent!
[INFO] Compiling 52 source files to D:\wrk\vladmihalcea\vladmihalcea.wordpress.com\hibernate-facts\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] D:\wrk\vladmihalcea\vladmihalcea.wordpress.com\hibernate-facts\target\classes\com\vladmihalcea\hibernate\model\store\Version_.java:[8,16] error: duplicate class: com.vladmihalcea.hibernate.model.store.Version_

元模型类生成两次:

D:\wrk\vladmihalcea\vladmihalcea.wordpress.com\hibernate-facts\target\classes\com\vladmihalcea\hibernate\model\bag\Child_.java 
D:\wrk\vladmihalcea\vladmihalcea.wordpress.com\hibernate-facts\target\generated-sources\java\com\vladmihalcea\hibernate\model\bag\Child_.java

你知道有什么可能的解决办法吗?

最佳答案

我设法让它像这样工作:

<profiles>
<profile>
<id>jdk16</id>
<activation>
<jdk>1.6</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.bsc.maven</groupId>
<artifactId>maven-processor-plugin</artifactId>
<version>2.0.5</version>
<executions>
<execution>
<id>process</id>
<goals>
<goal>process</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<outputDirectory>target/generated-sources/java/</outputDirectory>
<processors>
<processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor
</processor>
</processors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArguments>
<processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor>
</compilerArguments>
</configuration>
<executions>
<execution>
<id>process</id>
<phase>generate-sources</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>

对于 JDK 1.6 激活了 ma​​ven-processor-plugin,而默认情况下它是 ma​​ven-compiler-plugin 来应用 JPA 元模型后处理。

关于java - org.bsc.maven.maven-processor-plugin 不适用于 java 1.7 及更高版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27379810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com