我想在这里使用arquillian插件来运行jetty 8 +:
https://github.com/aslakknutsen/arquillian-gradle-plugin
如果我在我的gradle脚本中加上“apply plugin:'arquillian'”,它就找不到它。
所以我必须以某种方式安装它。我在这方面寻找信息,但没找到。
您是否有指示如何做到这一点?
我在Windows上使用gradle 1.6。
更新: 我用它更新了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中心。
然后我把路径放到了战争中。再次启动时,有更多的聊天,但仍然没有侦听端口8080。
所以我仍然想念一些东西。
我也觉得必须引用我使用gradle脚本构建的战争的绝对路径。我想可能有一种自我参考。
更新 由于@raeffs,现在运行正常。我真的不知道我上一步的错误。
Web应用程序的路径采用名称和版本。
谢谢
答案 0 :(得分:12)
该插件的创建者尚未将其发布到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
}
以下是用法示例:https://gist.github.com/raeffs/5920562#file-build-gradle
它启动jetty容器,部署战争并等待直到按下ctrl + c。