{"id":26451012,"url":"https://github.com/apache/grails-core","last_synced_at":"2026-01-22T08:01:44.133Z","repository":{"id":806983,"uuid":"512295","full_name":"apache/grails-core","owner":"apache","description":"Grails - the Web Application Framework","archived":false,"fork":false,"pushed_at":"2026-01-15T21:54:33.000Z","size":437116,"stargazers_count":2867,"open_issues_count":861,"forks_count":971,"subscribers_count":187,"default_branch":"7.0.x","last_synced_at":"2026-01-15T22:44:51.186Z","etag":null,"topics":["grails","groovy"],"latest_commit_sha":null,"homepage":"https://grails.apache.org/","language":"Groovy","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"patreon":null,"open_collective":"friends-of-grails","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2010-02-10T23:57:57.000Z","updated_at":"2026-01-15T21:54:33.000Z","dependencies_parsed_at":"2023-09-24T20:49:28.710Z","dependency_job_id":"f38ff41c-ef14-4fca-b498-36590055831d","html_url":"https://github.com/apache/grails-core","commit_stats":{"total_commits":17947,"total_committers":370,"mean_commits":"48.505405405405405","dds":0.7095336267899928,"last_synced_commit":"330054f1a11807a8065cbe267d3623a1c15d0fba"},"previous_names":["apache/grails-core"],"tags_count":336,"template":false,"template_full_name":null,"purl":"pkg:github/apache/grails-core","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fgrails-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fgrails-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fgrails-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fgrails-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/grails-core/tar.gz/refs/heads/7.0.x","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fgrails-core/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28534203,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["grails","groovy"],"created_at":"2025-03-18T16:16:30.451Z","updated_at":"2026-01-22T08:01:44.097Z","avatar_url":"https://github.com/apache.png","language":"Groovy","readme":"\u003c!--\nSPDX-License-Identifier: Apache-2.0\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    https://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n--\u003e\n\n# Apache Grails\n\n[![Documentation](https://img.shields.io/badge/Documentation-595959)](https://grails.apache.org/docs/)\n[![Develocity](https://img.shields.io/badge/Develocity-06A0CE?logo=Gradle\u0026labelColor=06A0CE)](https://ge.grails.org/scans)\n[![CI](https://github.com/apache/grails-core/actions/workflows/gradle.yml/badge.svg?event=push)](https://github.com/apache/grails-core/actions/workflows/gradle.yml)\n[![Groovy Joint Validation Build](https://github.com/apache/grails-core/actions/workflows/groovy-joint-workflow.yml/badge.svg?event=push)](https://github.com/apache/grails-core/actions/workflows/groovy-joint-workflow.yml)\n[![Users Mailing List](https://img.shields.io/badge/Users_Mailing_List-feb571)](https://lists.apache.org/list.html?users@grails.apache.org)\n[![Dev Mailing List](https://img.shields.io/badge/Dev_Mailing_List-feb571)](https://lists.apache.org/list.html?dev@grails.apache.org)\n[![Slack](https://img.shields.io/badge/Join_Slack-e01d5a)](https://slack.grails.org/)\n[![GitHub Discussions](https://img.shields.io/github/discussions/apache/grails-core)](https://github.com/apache/grails-core/discussions)\n\n## Introduction\n\n[Apache Grails](https://grails.apache.org/) is a framework used to build web applications with\nthe [Apache Groovy](https://groovy-lang.org/) programming language. Releases prior to 7.0.0 were outside of the Apache\nSoftware Foundation. The core framework is very extensible and there are numerous [plugins](https://plugins.grails.org/)\navailable that provide easy integration of add-on features. To assist in getting started, various Application generators\nexist and are provided by the Apache Grails team.\n\n## Using the source distribution\nPlease see the [INSTALL](INSTALL) document for instructions on how to build, use, and run Apache Grails CLIs from the source distribution. \n\n## Getting help\n\n- Check the [Documentation](https://grails.apache.org/docs/) for your preferred Apache Grails version.\n- Check for a [Grails Guide](https://github.com/grails-guides/).\n- Ask questions on the [Grails User Mailing List](https://lists.apache.org/list.html?users@grails.apache.org)\n- Submit an issue: [Grails Issues](https://github.com/apache/grails-core/issues)\n- Join the discussions on [Slack](https://slack.grails.org/)\n\nPlease note that the Apache Software Foundation does not offer commercial support for Apache Grails or related applications.\n\n[Commercial support](https://grails.apache.org/support.html) options are available.  The products and services listed at this link are provided for information use only to our users. The Apache Grails Project does not endorse or recommend any of the products or services.\n\n## Application Generation\n\nThe only requirement for Apache Grails is the Java Development Kit (JDK). Once a JDK is installed there are many ways to\nget started. The preferred way to get started is to use [Grails Forge](https://start.grails.org). Alternatively, offline\nCLI applications exist to assist in Application generation. Instructions for them follow.\n\n### Wrapper\n\nThe Apache Grails Wrapper is a tiny distribution (25KB) that can manage larger sized CLIs for Grails. It consists of a\n`grailsw` shell script, a `grailsw.bat` batch script, and the jar file `grails-wrapper.jar`. It can be downloaded from\nthe latest [GitHub Release](https://github.com/apache/grails-core/releases) page starting with version 7.0.0-M4 \u0026 it is\nincluded\nin any created project. The wrapper is used to either create an Apache Grails Application or to run commands in an\nexisting Grails Application directory. The wrapper is generally meant to be forward compatible and downloads the Apache\nGrails CLIs to the directory `$HOME/.grails/wrapper`.\n\n#### Wrapper - Creating a Apache Grails Application\n\nTo create an Apache Grails Application with the wrapper follow these steps:\n\n1. Extract the wrapper to your preferred location.\n2. Set the environment variable `PREFERRED_GRAILS_VERSION` to the preferred version.\n3. Run the wrapper command `grailsw -t forge create-app` to create a new Apache Grails Application.\n\nPlease note, that the wrapper supports either the legacy `Apache Grails Shell` or the newer `Apache Grails Forge` CLI.\nFor more detailed information about it, see the [documentation](https://grails.apache.org/docs/snapshot/index.html).\n\n#### Wrapper - Running Commands inside a Apache Grails Project\n\nFor running commands, the Grails Wrapper will always pull the Apache Grails version from `gradle.properties` and ignore\nany environment variables. Type `grailsw -t shell help` to see the available commands. For more detailed information\nabout it, see the [documentation](https://grails.apache.org/docs/snapshot/index.html).\n\n### grails-shell-cli\n\nThe legacy Apache Grails CLI is the command line interface that IntelliJ uses to interact with existing Apache Grails\nApplications. It can be used to generate applications or it can be used to interact with existing ones. To use it,\ndownload it to your preferred location from the [grails-forge](https://github.com/apache/grails-core/releases) release\npage. You can use the command `./grails-shell-cli help` to see what's possible.\n\n### grails-forge-cli\n\nThe newer Apache Grails CLI is available from the [grails-forge](https://github.com/apache/grails-core/releases)\nrelease page. You can use the command `./grails-forge-cli --help` to see what's possible.\n\n### SDKMAN\n\nIf managing multiple, local copies of the Grails CLI, it is recommended to use [SDKMAN!](https://sdkman.io/). Assuming\nSDKMAN is installed, this command would install the `7.0.0-M4` version:\n\n     sdk install grails 7.0.0-M4\n\nApache Grails versions installed via SDKMAN! include the following commands `grails`, `grails-shell-cli`, \u0026\n`grails-forge-cli`. The grails command simply delegates to forge or the legacy shell. For further information on SDKMAN,\nplease see their [website](https://sdkman.io/).\n\n## Starting your Grails Application\n\nOnce your Apache Grails Application is created, you can start it with the command:\n\n    ./gradlew bootRun\n\nFor further information, please consult the [documentation](https://grails.apache.org/docs/).\n\n## Licensing\n\nApache Grails is licensed under the Apache License, Version 2.0. For details, see\nthe [LICENSE](./LICENSE).\n\n## Versioning\n\nThe Apache Grails versioning scheme is defined in [RELEASE.md Appendix: Versioning](RELEASE.md#appendix-versioning).\n\n## Performing a Release\n\nSee [RELEASE.md](RELEASE.md).\n\n## Friends of Apache Grails Open Collective\nAs an independent initiative, community members have set up an open collective for Apache Grails:\n\nhttps://opencollective.com/friends-of-grails\n\nThis initiative is designed to complement the Apache project and the many contributions we get from our great community and supporters.\n\n","funding_links":["https://opencollective.com/friends-of-grails"],"categories":["Groovy","开发框架"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fgrails-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fgrails-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fgrails-core/lists"}