Sök…


Exekverbar burk

Ett av de enklaste sätten att distribuera Grails 3.x är att bygga en körbar burkfil som bäddar in en servletbehållare (Tomcat, Undertow, etc) med applikationen.

Ändra build.gradle :

// Remove or comment out the war plugin:
// apply plugin:"war"

// Enable the executable jar:
springBoot {
    executable = true
}

// Optional: Customize the jar properties:
//  https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Jar.html
jar {
    archiveName('myapp.jar')
}

Bygg med hjälp av ./gradlew assemble

Resulterande burk är nu en helt körbar app som du kan starta:

$ head build/libs/myapp.jar
#!/bin/bash
#
#    .   ____          _            __ _ _
#   /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
#  ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
#   \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
#    '  |____| .__|_| |_|_| |_\__, | / / / /
#   =========|_|==============|___/=/_/_/_/
#   :: Spring Boot Startup Script ::
#

Du kan starta det som du normalt skulle göra för alla kommandoradsappar:

$ ./build/libs/myapp.jar
Grails application running at http://localhost:8080 in environment: production

Det uppför sig också som en init-tjänst:

$ ln -s /opt/myapp/myapp.jar /etc/init.d/myapp
$ service myapp [start|stop|status|restart]

Detaljerad dokumentation finns under spring-boot docs: http://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html

Skapandet av krigsfiler

När vi skriver en webbapplikation i Grails, för att distribuera applikationen behöver vi en "krig" -fil som måste läggas i servletcontainern (Tomcat etc).

Gå först till projektkatalogen:

 cd to_project_directory
  1. Skapa krigsfil från kommandotolken:
grails war

2.Det rekommenderas alltid att du rensar din ansökan innan krig skapas

Rengör ansökan från kommandotolken:

grails clean

Att kombinera ovanstående två steg i ett kommer att resultera i

grails clean && grails war

Du kan också ange den miljö där du vill skapa krigsfilen.

grails [environment] war

Där [environment] kan ta följande värden: till exempel dev , prod eller test .

Till skillnad från andra kommandon körs krigskommandot i produktionsmiljön som standard istället för utveckling.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow