从github安装/运行gradle插件(特别是arquilian插件)的正确方法?

从github安装/运行gradle插件(特别是arquilian插件)的正确方法?,gradle,Gradle,我想在这里使用arquillian插件来运行jetty 8+: 如果我把“apply plugin:'arquillian'”放在gradle脚本中,它不会找到它 所以,我必须以某种方式安装它。我查找有关此的信息,但未找到 你能告诉我怎么做吗 我在windows上使用gradle 1.6 在@raeffs回答后更新: 我用它更新了gradle脚本,构建成功了,但是我没有看到我的战争在arquillianRunJetty之后开始(8080端口甚至没有监听) 然后我尝试添加github页面上指示

我想在这里使用arquillian插件来运行jetty 8+:

如果我把“apply plugin:'arquillian'”放在gradle脚本中,它不会找到它

所以,我必须以某种方式安装它。我查找有关此的信息,但未找到

你能告诉我怎么做吗

我在windows上使用gradle 1.6


在@raeffs回答后更新: 我用它更新了gradle脚本,构建成功了,但是我没有看到我的战争在arquillianRunJetty之后开始(8080端口甚至没有监听)

然后我尝试添加github页面上指示的内容:

arquillian {
    debug = true
    deployable = file('my/path/arbitraryWebApp.war')

    containers {
        jetty {
            version = '8'
            type = 'embedded'
            config = ['bindHttpPort': 8080, 'bindAddress': '127.0.0.1', 'jettyPlus': false]

            dependencies {
                adapter 'org.jboss.arquillian.container:arquillian-jetty-embedded-7:1.0.0.CR2'
                container 'org.eclipse.jetty:jetty-webapp:8.1.11.v20130520'
                container group: 'org.eclipse.jetty', name: 'jetty-plus', version: '8.1.11.v20130520'
            }
        }
我不得不用CR1替换arquillian-jetty-embedded-7:1.0.0.CR2,因为它不在maven central

然后我把我的战争之路。当再次启动时,端口8080上有更多的抖动,但仍然没有监听

所以我还是错过了一些东西

我也觉得很尴尬,因为我要用gradle脚本建立一个战争的绝对路径。我想可能有一种自我参照

更新 多亏@raeffs,现在运行良好。我真的不知道上一步出了什么问题

web应用程序的路径采用名称和版本


谢谢

插件的创建者尚未将其发布到maven存储库,因此您必须自己构建它

获取插件项目的本地副本并构建它。您应该得到一个“arquillian-gradle-plugin-0.1.jar”作为输出

在您自己项目的构建脚本中,您必须声明对该jar的依赖关系。将以下内容添加到生成脚本中:

buildscript {
    dependencies {
        classpath fileTree(dir: '/path/to/folder/that/contains/the/jar',
            includes: ['arquillian-gradle-plugin-0.1.jar'])
    }
}
现在你应该可以使用这个插件了

更新

如果您不想为可部署组件提供硬编码路径,只需传递一个变量即可。例如,如果您正在使用war插件:

arquillian {
    deployable = war.archivePath
}
下面是一个用法示例:


它启动jetty容器,部署war并等待按下ctrl+c。

谢谢,构建工作正常,但我的war仍然没有部署-如果您愿意,我更新了我的问题。我尝试了您在更新中描述的内容,它工作正常。明天我将在github上发布我的代码。也许这对你有帮助。我还更新了我的答案,所以你不必使用绝对路径。非常感谢,它工作得很好。我猜Jetty是动态安装的,你知道在哪里吗(不幸的是,我一直使用Windows,在该操作系统上的搜索功能有限)Gradle将所有依赖项保存在c:\users\yourUser\.gralde\caches中,这包括Jetty jar。也许Jetty从那里开始,但我不确定。