gpt4 book ai didi

eclipse - Gradle和Eclipse的Hibernate映射文件路径

转载 作者:行者123 更新时间:2023-12-03 04:28:16 25 4
gpt4 key购买 nike

我在我们的构建过程中使用gradle构建,并且在我们的开发环境中需要 eclipse 。 Gradle希望hibernate.cfg文件夹内的.hbm文件夹中的main/resourcessrc文件。但是eclipse希望它直接在src文件夹内。

Gradle
- src
- main
- resources
hibernate.cfg
package/path/.hbm files

Eclipse
- src
hiberante.cfg
package/path/.hbm files

为了使其在eclipse上正常工作,我修改了.cfg文件,使其具有带有前缀文件夹的映射。但是,当我进行gradle构建时,下面的破解失败,并且我得到一个'org.hibernate.boot.MappingNotFoundException:找不到映射(RESOURCE):main / resources / com / mnox / database / hibernate / pojos / v2 / Booking。 hbm.xml:`
<mapping resource="main/resources/com/mnox/database/

编辑1

我尝试了以下方法,但没有成功。
为了解决我做的以下问题
  • 我将所有.hbm文件从src/main/resources/package/path移到src/package/path
  • 我将.cfg文件保留在src/main/resources
  • .cfg文件中,我确保路径为package/path/Booking.hbm.xml
  • GradleEclipse现在都可以使用。

    编辑2
    apply plugin: 'java'
    repositories {
    jcenter()
    }
    dependencies {
    compile 'org.slf4j:slf4j-api:1.7.21'
    testCompile 'junit:junit:4.12'
    //compile files('src/com/mnox/database/hibernate/pojos/v2')
    }
    jar {
    baseName='databasepojos'
    from ('src/com/mnox/database/hibernate/pojos/v2/*.xml')
    // from ('build/classes/main')
    }
    sourceSets {
    main {
    java {
    srcDir 'src'
    //includes = 'src/com/mnox/database/hibernate/pojos/v2/**'
    //includes = ["**/*.java"]
    }
    }
    }
    allprojects {
    apply plugin: 'java'
    sourceCompatibility = 1.7
    targetCompatibility = 1.7
    }
    FileTree hbmfilesFrom = fileTree(dir: 'src/com/mnox/database/hibernate/pojos/v2/*.hbm.xml')
    task copyHBMXMLFiles(type: Copy) {
    from hbmfilesFrom
    into 'build/main/resources/com/mnox/database/hibernate/pojos/v2'
    }

    编辑3

    我的.classpath文件
    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
    <attributes>
    <attribute name="owner.project.facets" value="java"/>
    </attributes>
    </classpathentry>
    <classpathentry kind="output" path="build"/>
    </classpath>

    最佳答案

    假设您的应用程序和/或测试通过类路径引用了hibernate.cfg,那么您要做的就是确保src/main/resourcesgradleeclipse中的类路径文件夹。

  • 在gradle中很简单,因为这是默认的
  • 我不确定您如何生成eclipse项目,但src不应放在类路径中。它应该是src/main/resources加上已编译的类目录。
  • 我建议不要为gradle项目
  • 手动创建一个Eclipse项目。
  • 您知道有buildship eclipse plugin吗?
  • 另外,您知道您可以使用gradle plugin生成.classpath.project吗?
  • 关于eclipse - Gradle和Eclipse的Hibernate映射文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44068728/

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