【问题标题】:How do you integrate gradle and jboss 6 to generate working eclipse projects你如何集成 gradle 和 jboss 6 来生成工作的 eclipse 项目
【发布时间】:2011-10-31 16:37:48
【问题描述】:

情况

我想集成一个 gradle 脚本来指定 JBoss AS 6 的依赖项并使用该脚本来创建 eclipse 项目。我们目前正在为一个项目使用 gradle。它构建良好,并且可以正确运行测试,但是当我们尝试将其导入 eclipse 时,我们会遇到错误。我们有一个名为 jbossHomeproperty 变量。我将所有库转储到 jboss6 的一个目录中,这就是 jbossHome 所指向的。

repositories{
    fileTree(dir: jbossHome)  //include required JBoss jars
}

dependencies {
    providedCompile fileTree(dir: jbossHome)  // include the required JBoss jars    
}

问题

当我们导入 Eclipse 时,我们得到以下错误:

  • Java 编译器级别与安装的 Java 项目方面的版本不匹配。
  • 目标运行时 jboss-6.0.0.Final Runtime 未定义。

我们有一个 web 服务项目和一个 jms 项目,我们需要为此进行设置。

问题 #1 - 如何设置我的项目以使用 maven 存储库并包含/排除类似于 jboss 7 example 的正确 jar?

问题 #2 - 如果使用 Maven 存储库,有没有办法指定它以将其缓存到特定目录,这样它就不会每次都下载以集成到像 Jenkins 这样的 CI 服务器中?

注意:我一直在跳项目和语言,我对 Gradle 或 Maven 不是很熟悉。我对 CMake 非常熟悉,但是 AFAIK 没有与依赖项和 maven repos 类似的概念。

【问题讨论】:

    标签: eclipse jboss gradle


    【解决方案1】:

    以下 gradle 对我有用。我也试图通过战争进行部署,所以我需要确保我使用了 providedCompile 而不是 compile 否则每个 jboss .jar 文件都会在 war 文件中结束。

    repositories {    
    
       mavenCentral()
       mavenRepo urls: "http://repository.jboss.org/nexus/content/groups/public"
    
    }
    
    
    dependencies {
       //*****Note - providedCompile means to use it during compile, but don't include the war
    
       //jboss and hornetq 
       providedCompile ("org.jboss.jbossas:jboss-as-client:6.0.0.Final") { 
          exclude group: 'org.hibernate', module: 'hibernate-annotations'  //error if not excluded
          exclude group: 'com.sun.istack', module: 'istack-commons-runtime'  //error if not excluded
    
       }
       providedCompile ("org.hornetq:hornetq-jms:2.1.2.Final")
    
    
    }
    

    我希望这可以帮助其他人。

    【讨论】:

    • 注意:Gradle 中深度嵌套的依赖解析似乎存在错误。我们将回到基于文件/目录的方法。
    • 注意#2,这似乎只适用于非动态网络项目。
    猜你喜欢
    • 2015-01-12
    • 1970-01-01
    • 2013-07-02
    • 2013-06-01
    • 2011-05-23
    • 2017-01-13
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多