【问题标题】:Compilation error - duplicating class in IntelliJ IDEA编译错误 - 在 IntelliJ IDEA 中复制类
【发布时间】:2012-10-16 10:47:42
【问题描述】:

我试图在 IDEA 中 Make project 并且我有编译错误。如何解决这个问题? 我在项目中没有重复的课程。当我按下Jump to source 时,它会显示项目目录target 中的类。

duplicate class: com.kmware.ttk.kladr.model.KladrSchemStreet_

项目中的所有类都一样

想法 11.1.3 Ubuntu 12.04 JBoss as 7

附加代码:

Round 1:
    input files: {com.kmware.ttk.kladr.model.KladrSchemBaseShortening_, com.kmware.ttk.kladr.model.KladrStreetShortening_, com.kmware.ttk.kladr.model.KladrSchemAltNames_, com.kmware.ttk.kladr.model.KladrSchem_, com.kmware.ttk.kladr.model.RQObject_, com.kmware.ttk.kladr.model.KladrBuilding_, com.kmware.ttk.kladr.model.KladrSettings_, com.kmware.ttk.kladr.model.KladrCity_, com.kmware.ttk.kladr.model.KladrSchemStreet_, com.kmware.ttk.kladr.model.KladrSchemBuilding_, com.kmware.ttk.kladr.model.KladrStreet_, com.kmware.ttk.kladr.dao.KladrUpdateDAO, com.kmware.ttk.kladr.dao.KladrStreetDAO, com.kmware.ttk.kladr.model.RQObject, com.kmware.ttk.kladr.model.KladrSettings, com.kmware.ttk.kladr.model.KladrBuilding, com.kmware.ttk.kladr.model.KladrSchemBaseShortening, com.kmware.ttk.kladr.model.KladrCity, com.kmware.ttk.kladr.model.KladrSchemStreet, com.kmware.ttk.kladr.model.KladrSchemAltNames, com.kmware.ttk.kladr.model.KladrSchem, com.kmware.ttk.kladr.dao.KladrStreetShorteningDAO, com.kmware.ttk.kladr.dao.BasicKladrDAO, com.kmware.ttk.kladr.dao.KladrBuildingDAO, com.kmware.ttk.kladr.dao.helper.LazyModelProperties, com.kmware.ttk.kladr.model.KladrStreet, com.kmware.ttk.kladr.model.KladrSchemBuilding, com.kmware.ttk.kladr.model.KladrStreetShortening}

    annotations: [javax.annotation.Generated, javax.persistence.metamodel.StaticMetamodel, javax.ejb.Stateless, javax.persistence.PersistenceContext, javax.ejb.TransactionAttribute, org.jboss.ejb3.annotation.TransactionTimeout, javax.persistence.MappedSuperclass, javax.persistence.Id, javax.persistence.Column, javax.persistence.Version, java.lang.Override, javax.persistence.Entity, javax.persistence.Table, javax.persistence.GeneratedValue, javax.persistence.Inheritance, javax.validation.constraints.NotNull, org.hibernate.validator.constraints.NotEmpty, javax.validation.constraints.Digits, java.lang.SuppressWarnings]

    last round: false

Note: Hibernate JPA 2 Static-Metamodel Generator 1.2.0.Final

Processor org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor matches [javax.persistence.Entity, javax.persistence.MappedSuperclass] and returns false.

Processor org.hibernate.validator.ap.ConstraintValidationProcessor matches [javax.persistence.PersistenceContext, javax.ejb.TransactionAttribute, javax.persistence.Column, javax.validation.constraints.NotNull, javax.persistence.Table, org.jboss.ejb3.annotation.TransactionTimeout, java.lang.Override, javax.persistence.Id, javax.persistence.Version, javax.persistence.MappedSuperclass, org.hibernate.validator.constraints.NotEmpty, javax.ejb.Stateless, javax.persistence.metamodel.StaticMetamodel, javax.persistence.Entity, javax.validation.constraints.Digits, javax.annotation.Generated, java.lang.SuppressWarnings, javax.persistence.Inheritance, javax.persistence.GeneratedValue] and returns false.

Round 2:

    input files: {com.kmware.ttk.kladr.model.KladrSchemStreet_, com.kmware.ttk.kladr.model.KladrSchemBuilding_, com.kmware.ttk.kladr.model.KladrSchemAltNames_, com.kmware.ttk.kladr.model.KladrStreet_, com.kmware.ttk.kladr.model.KladrSchemBaseShortening_, com.kmware.ttk.kladr.model.KladrBuilding_, com.kmware.ttk.kladr.model.KladrCity_, com.kmware.ttk.kladr.model.KladrSchem_, com.kmware.ttk.kladr.model.RQObject_, com.kmware.ttk.kladr.model.KladrStreetShortening_, com.kmware.ttk.kladr.model.KladrSettings_}

    annotations: []

Processor org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor matches [] and returns false.

Processor org.hibernate.validator.ap.ConstraintValidationProcessor matches [] and returns false.

Round 3:

    input files: {}

    last round: true

Compilation completed with 11 errors and 0 warnings

11 errors
0 warnings

/home/kelevra/java/KLADR/kladr/kladr-ejb/target/classes/com/kmware/ttk/kladr/model/KladrSchemStreet_.java
duplicate class: com.kmware.ttk.kladr.model.KladrSchemStreet_

/home/kelevra/java/KLADR/kladr/kladr-ejb/target/classes/com/kmware/ttk/kladr/model/KladrSchemBuilding_.java
duplicate class: com.kmware.ttk.kladr.model.KladrSchemBuilding_

/home/kelevra/java/KLADR/kladr/kladr-ejb/target/classes/com/kmware/ttk/kladr/model/KladrSchemAltNames_.java
duplicate class: com.kmware.ttk.kladr.model.KladrSchemAltNames_

...

还有另外 8 个课程

【问题讨论】:

  • 你能分享一个小样本来重现它吗?您使用什么 JDK 作为目标?尝试使用 Oracle JDK 而不是 OpenJDK。
  • 我使用的是 Oracle jdk 1.6。我添加了一些有问题的代码
  • 检查您没有具有相同类(或符号链接)的多个源根目录。
  • 在源代码中我没有相同的类。目录'target'中的类重复,由maven生成,而maven:compile
  • 你是否在IDEA中导入了Maven项目?它应该自动配置所有内容。另请参阅wiki.jetbrains.net/intellij/Maven_FAQ

标签: java maven intellij-idea compilation


【解决方案1】:

您是否以某种方式将模块的编译输出添加为依赖项?直接通过 IntelliJ 或通过 Maven。

【讨论】:

  • 是的,我添加了它抛出项目结构
  • 你不应该在 Maven 导入的项目中手动编辑项目/模块依赖项,所有依赖项都由 Maven 自动处理,IDEA 在项目导入时配置它们。下次重新导入时,您的所有手动更改都将被丢弃。
  • Maven 项目工具窗口中有一个重新导入按钮。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-22
  • 1970-01-01
  • 1970-01-01
  • 2018-12-10
  • 2018-11-11
  • 2021-06-24
  • 2018-10-01
相关资源
最近更新 更多