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 me refiero a un recurso de imagen de CSS en grial?
- 6. En grial, ¿cómo obtengo una referencia a todas las sesiones actuales?
- 7. ¿Cómo eliminar el nombre y el puerto de la aplicación de la url en grial?
- 8. ¿Cómo puedo hacer que un campo de texto sea solo leído 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 TIPO en MySQL
- 14. crear subcarpetas en NSDocumentDirectory
- 15. Crear dominio en MySQL
- 16. crear subdirectorios en Ruby
- 17. ¿Crear alias en emacs?
- 18. crear consultas en Hibernate
- 19. Crear carpeta en dibujable
- 20. Crear función en jquery
- 21. Crear CommonGridTemplateColumn en WPF
- 22. Crear elemento en Jquery
- 23. Crear apéndice en Lyx
- 24. Crear esquema en SSMS
- 25. Crear sesión en C#
- 26. Crear byte [] en Jython
- 27. Crear archivos en C++
- 28. Crear imagen en miniatura
- 29. crear archivos, crear directorios recursivamente
- 30. ¿Puedo crear crear una función global en SQL Server?
¿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