grails apoya la creación de la guerra. ¿Pero hay algún comando para crear una oreja a través de los griales?crear oreja en grial
7
A
Respuesta
9
No hay soporte directo en Grails, pero este script Gant hará el trabajo. Simplemente se agregó al scripts/
dir y se invoca como grails ear
.
Guión Iniciado por Graeme on mailing list
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)
2
Ésta es una respuesta muy tarde, pero hoy en día el plugin griales experto es bastante bueno. Así que podrías construir una oreja de la guerra producida por el plugin mails de Grails.
Cuestiones relacionadas
- 1. Web.xml específico del entorno en grial?
- 2. ¿Por qué utilizar una oreja en lugar de una guerra?
- 3. Aplicación GRATUITA de grial: Secando UrlMapping
- 4. ¿Java JVM carga un frasco o oreja completo si solo usa una clase de él?
- 5. ¿Cómo puedo hacer que un campo de texto sea solo leído en grial?
- 6. ¿Cómo me refiero a un recurso de imagen de CSS en grial?
- 7. En grial, ¿cómo obtengo una referencia a todas las sesiones actuales?
- 8. ¿Cómo eliminar el nombre y el puerto de la aplicación de la url en grial?
- 9. Desarrollo de aplicaciones web con grial: no tengo idea de cómo funciona realmente
- 10. ¿Cuál es el resultado de "estadísticas de grial" para su proyecto más grande de Grails?
- 11. ¿Cómo usar el componente de tabla agregado a JasperReports 3.7.2 con plugins jasper de grial?
- 12. ¿Por qué se deben declarar las acciones de grial como métodos en lugar de cierres y qué diferencia hace?
- 13. ¿Crear alias en emacs?
- 14. Crear archivos en C++
- 15. Crear byte [] en Jython
- 16. Crear función en jquery
- 17. Crear carpeta en dibujable
- 18. Crear imagen en miniatura
- 19. Crear CommonGridTemplateColumn en WPF
- 20. crear subdirectorios en Ruby
- 21. Crear dominio en MySQL
- 22. Crear elemento en Jquery
- 23. crear subcarpetas en NSDocumentDirectory
- 24. CREAR TIPO en MySQL
- 25. Crear esquema en SSMS
- 26. Crear sesión en C#
- 27. Crear apéndice en Lyx
- 28. crear consultas en Hibernate
- 29. crear archivos, crear directorios recursivamente
- 30. Cómo crear un índice no agrupado en Crear tabla?
¿Alguna razón por la cual esto no es parte del framework de Grails? – kaskelotti
Quizás esta secuencia de comandos funcionó para versiones anteriores de griales, pero para '2.3.4' recibí un error que indicaba que la propiedad warName no existe. Lo resolvió definiéndolo dentro del script como 'warName =" $ {basedir}/target/$ {grailsAppName} - $ {grailsAppVersion} .war "'. Comprobé desde las fuentes y parece que la propiedad warName está presente en WarCreator.groovy (y tal vez también en la secuencia de comandos _GrailsWar), pero no es visible para la secuencia de comandos Ear por alguna razón. – kaskelotti
pero el oído de los griales se genera para el entorno de desarrollo, necesito crear para el entorno de producción – sirdaiz