grailsは戦争の創造をサポートします。しかし、グライルを通して耳を作るコマンドはありますか?
質問する
1929 次
2 に答える
9
Grailsには直接のサポートはありませんが、このGantスクリプトがその役割を果たします。単にscripts/
dirに追加され、として呼び出されgrails ear
ます。
Graemeによってメーリングリストに最初に投稿されたスクリプト
includeTargets << grailsScript("_GrailsWar")
target(ear: "Creates an EAR file from a Grails WAR") {
war()
event("StatusUpdate", ["Building EAR file"])
generateApplicationXml()
def warDest = new File(warName).parentFile
def earFile = "${projectTargetDir}/${contextRoot}.ear"
ant.ear(destfile:earFile, appxml:appXml, update:true) {
fileset(dir:warDest, includes:"*.war")
}
event("StatusFinal", ["Done creating EAR $earFile"])
}
target(defineContextRoot:"defines the context root") {
contextRoot = "${grailsAppName}${grailsAppVersion ? '-'+grailsAppVersion : ''}"
}
target(generateApplicationXml:"Generates an application.xml file") {
depends(defineContextRoot)
def warDest = new File(warName)
appXml = "${projectTargetDir}/application.xml"
new File(appXml).write """\
<?xml version="1.0" encoding="UTF-8"?>
<application
xmlns=http://java.sun.com/xml/ns/j2ee
xmlns:xsi="http://www.w3.org/ 2001/XMLSchema-instance"
xsi:schemaLocation="http:// java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/ application_1_4.xsd"
version="1.4">
<display-name>${grailsAppName}</display-name>
<module>
<web>
<web-uri>${warDest.name}</web-uri>
<context-root>${contextRoot}</context-root>
</web>
</module>
</application>
"""
}
setDefaultTarget(ear)
于 2011-02-02T15:56:19.880 に答える
2
これは非常に遅い答えですが、最近ではgrailsmavenプラグインはかなり優れています。したがって、grailsmavenプラグインによって生成された戦争から耳を構築することができます。
于 2011-10-15T10:26:06.993 に答える