Grails jest open source web-based ram aplikacja, która stanowi uzupełnienie ram rozwoju sieci Java i wykorzystuje język Groovy. Może być stosowany jako samodzielne środowisko programistyczne zaprojektowane, aby ukryć wszystkie szczegóły konfiguracji lub zintegrowane z logiką biznesową Java.
Projekt ma na celu rozwój jak najprostsze, a więc należy odwołać się do wielu deweloperów, nie tylko tych ze społeczności Java. Grails jest pełny stos ramy aplikacji internetowych zaprojektowane w taki sposób, że stanowi strumień doświadczenia rozwoju wysadzanej v.
Instalacja Grails może być trudnym zadaniem dla początkujących
Instalacja Grails może być trudnym zadaniem dla początkujących. Przede wszystkim należy zainstalować Java SDK (Software Development Kit) w wersji 1.5 lub wyższej, a następnie pobierz najnowszą wersję używając wyżej dedykowany przycisk pobierania.
Zapisz archiwum ZIP na swoim katalogu domowym i użyć narzędzia kierownik archiwum, aby wyodrębnić jego zawartość, która powinna być wysyłane do nowego folderu o nazwie & ldquo; grails-2.4.4 & rdquo; (proszę zwrócić uwagę, że numer wersji zmienia się w czasie). Zmień nazwę folderu do & bdquo;. Grails & rdquo;
Upewnij się, że masz ustawić zmienną środowiskową JAVA_HOME
Następnie należy utworzyć GRAILS_HOME zmiennej środowiskowej, który wskazuje na lokalizację wyodrębnionych plików archiwalnych (np / home / softoware / Grails - wymienić & ldquo; softoware & rdquo; z nazwą użytkownika). Dodaj lokalizację & bdquo; bin & rdquo; Folder z poziomu & bdquo; Grails & rdquo; katalog do zmiennej PATH Java (np $ GRAILS_HOME / bin).
Upewnij się, że masz ustawić zmienną środowiskową JAVA_HOME i że & bdquo; Grails & rdquo; plik binarny jest wykonywalny - jeśli nie, uruchom & lsquo; chmod + x Grails & rsquo; Polecenie w & bdquo; bin & rdquo; Folder. Użyj Grails uruchamiając & lsquo; Grails i rsquo; polecenie w oknie terminala. Po wszystkie elementy są ładowane, monit poinformuje Cię, że jesteś gotowy do użycia Grails i wprowadzić nazwę skryptu do uruchomienia.
Co nowego w tym wydaniu:
- Ta wersja przywraca dynamiczny rusztowania jako cechy. Aby korzystać wymaga wersję wtyczki rusztowań 3.1.0 być w zakresie kompilacji w build.gradle:
- kompilacji "org.grails.plugins: rusztowania: 3.1.0"
Co nowego w wersji 3.0.0:
- Podstawowe funkcje:
- Groovy 2.4:
- Grails 3.0 pochodzi z Groovy 2.4, która zawiera wiele nowych funkcji i ulepszeń.
- Wiosna Wiosna Boot 4.1 i 1.2:
- Grails 3.0 pochodzi z wiosny 4.1, która zawiera wiele nowych funkcji i ulepszeń.
- Dodatkowo, Grails 3.0 jest zbudowany na wiosennym Boot 1.2, który zapewnia zdolność do wytwarzania Runnable pliki JAR, które mogą osadzić Tomcat, Jetty lub cofająca pojemników.
- Gradle Build System:
- Grails 3.0 deprecates starszego systemu opartego na gromadzeniu Gant na rzecz budowy nowych Gradle, na którym integruje się ściśle z wtyczki ekosystemu Gradle.
- Profile aplikacyjne:
- Grails 3.0 obsługuje pojęcie profili aplikacji za pośrednictwem nowego repozytorium profilu. Profil oddaje strukturę aplikacji, zestaw poleceń, wtyczki i możliwości. Na przykład "web" profil umożliwia budowę aplikacji internetowych rozmieszczenia do pojemnika Servlet. W przyszłości więcej profili zostaną opracowane kierowania różnych środowisk.
- Przeprojektowany interfejs API oparty na Cechy:
- Grails API został przeprojektowany tak, że API publicznych jest prawidłowo wypełnione zgodnie z Grails. Pakiet podczas API prywatnego / wewnętrzne, które mogą ulec zmianie można znaleźć w org.grails. Pakiet. Rdzeń API zostało również zapisane, a opiera się na Groovy cech.
- Funkcje internetowe:
- Nowy Interceptors API:
- W poprzednich wersjach Grails, filtry były używane do definiowania logiki, który przechwytuje wykonywanie akcji kontrolera.
- Na Grails 3.0, ten interfejs API jest przestarzała i została zastąpiona przez nową Interceptor API. Przykładem przechwytujących można zobaczyć poniżej:
- Klasa MyInterceptor {
- Boolean przed () {true}
- Boolean po () {true}
- void afterView () {
- // no-op
- Development Environment Cechy:
- Nowy Shell i generowania kodu API:
- Wymiana Gant, Grails 3.0 posiada nową powłokę wiersza poleceń interaktywnych, które integruje ściśle z Gradle i zapewnia API do pisania skryptów, które współdziałają z Gradle i wykonywania generowanie kodu.
- Nowa powłoka integruje się ściśle z pojęciem profili aplikacji z każdego profilu w stanie profilu zdefiniowanie konkretnych poleceń. Tak jak w poprzednich wersjach Grails, wtyczki może zdefiniować nowe polecenia powłoki, które może wywołać Gradle lub wykonywania zadań generowania kodu i automatyzacji projektu.
- Zwiększona IDE Integracja:
- Ponieważ Grails 3.0 jest zbudowany na Gradle, można zaimportować projekt Grails, używając społeczności lub IntelliJ wydanie oprzyrządowanie GGTS Gradle wsparcie bez konieczności Grails specyficznych narzędzi. Grails 3.0 wtyczki są publikowane jako prostych plików JAR znacznie zmniejszając potrzebę dodatkowego wsparcia IDE specyficzne dla Grails.
- Zastosowanie Klasa główna:
- Każdy nowy Grails 3.0 Projekt funkcje klasy aplikacji, która ma tradycyjny static void podpis głównego, czyli do uruchamiania lub debugowania aplikacji Grails 3.0 z IDE jak IntelliJ lub GGTS możesz po prostu kliknij prawym przyciskiem myszy na klasy aplikacji i wykonać, aby uruchomić aplikację Grails. Wszystkie Grails 3.0 Badania mogą też po prostu być prowadzone z IDE bezpośrednio, bez konieczności uciekania się do linii poleceń (nawet integracji / testy funkcjonalne!).
- Funkcje kontrolne:
- Integracja i Geb Testy funkcjonalne:
- Grails 3.0 obsługuje wbudowane wsparcie dla Spock / Geb funkcjonalnych testów za pomocą komendy CREATE-funkcjonalne-test. Testy funkcjonalne oparte są na mechanizmie biegu Test Wiosna bagażniku i załadować aplikację tylko raz dla całego zestawu testów. Testy mogą być uruchamiane z i IDE i nie wymagają wiersza poleceń.
- Gradle test trwania:
- Ponieważ Grails 3.0 jest zbudowany na Gradle konfiguracja wykonanie testu jest znacznie bardziej elastyczny i można łatwo skonfigurować do wykonywania równolegle.
Co nowego w wersji 2.4.4 / 3.0.0 Milestone 1:
- Korzystanie MNIEJ:
- MNIEJ jest wielki, kiedy chcesz skompilować kod bootstrap ze źródła lub po prostu użyć w miejsce css w ogóle.
- W chwili obecnej, w celu wykorzystania mniej należy zdefiniować zarówno zależność buildscript jak również uzależnienie wykonania. Umożliwia to zarówno użyć mniej procesora w trybie / rozwoju debug jak również podczas montażu wojenny prekompilacji.
- Teraz możesz po prostu zmień nazwę pliku application.css do application.less i iść do miasta. Jest nawet możliwe, aby pobrać Bootstrap 3.2.2 ze źródła i używać w czasie wykonywania bezpośrednio.
- coffeescript:
- Możesz także skorzystać z coffeescript przetwarzanie przez dodanie com.bertramlabs.plugins: ekspres do aktywów-rurociągu: 2.0.6 plik do uzależnień, a także swoimi zależnościami buildscript .
- Wtyczka ta ma kilka ciekawych funkcji, takich jak możliwość skorzystania z binarnym węzeł coffeescript, jeśli są dostępne, w celu skrócenia czasu przetwarzania.
- Kierownice:
- Podobnie jak inni, po prostu dodaj com.bertramlabs.plugins: Kierownice-aktywów-rurociągu: 2.1.1 plugin do projektu. Na początku trzeba będzie utrzymać własną kopię kierownice-runtime.js renderowanie Uzyskany skompilowane pliki .hbs. Jednak w następnej wersji AP dla Grails, aplikacja będzie w stanie dostępu dołączonego kopię kierownicy z folderu META-INF / aktywów.
- Zbuduj Opcje:
- Grails wykorzystuje już istnial za pomocą wtyczki do Gradle asset-rurociągu. Oznacza to, że możemy korzystać z tych opcji konfiguracyjnych bezpośrednio w naszym pliku build.gradle do kontroli, jak te pliki są kompilowane do produkcji.
Co nowego w wersji 2.3.4:
- Bug
- [Grails-7833] - Nie można używać Dołącz tabela w niedomyślnej schematu w PostgreSQL
- [Grails-8737] - Grails nie rozpoznaje już istnieje dołączyć stolik w jednej z wielu relacji przy użyciu mapowania schematu PostgreSQL
- [Grails-9778] - Grails na Cygwin pokazuje "nie można przekonwertować pustą ścieżkę"
- [Grails-9805] - GORM autoTimestamp baz danych nie działa na bazie sekwencji
- [Grails-10207] - Ograniczenia są ignorowane, gdy blok odwzorowania jest zdefiniowane dla własności
- [Grails-10469] - projekcje w wyniku błędu powrotu createCriteria
- [Grails-10594] - Tworzenie testową aplikacji: błąd podczas otwierania pliku zip
- [Grails-10686] - NoSuchMethodError dla GormStaticApi.setTransactionManager ()
- [10692]-Grails - Nie można dodać zależności wiosna-LDAP do projektu grails
- [Grails-10714] - NoSuchMethodError dla GormStaticApi.setTransactionManager () podczas pracy przy użyciu Maven
- [Grails-10736] - działa z Maven i Oracle konfiguracja bazy danych jest ignorowany i zawsze jest używana h2
- [Grails-10793] - W systemie Windows, grails v2.3.2 lub 2.3.3 (nowy projekt) dodanie BuildConfig zależności wyników błędy wtyczki. Działa na 2.3.1!
- [Grails-10803] - Nie widać chińczyk w konsoli dziennika w 2.3.x
- [Grails-10806] - nie są niestandardowe nagłówki wysyłane jako część odpowiedzi na application / json
- [Grails-10817] - JSON konwerter charset problem
- [Grails-10818] - Możliwe jest wtyczka groovy słoika do końca się w pliku war
- [Grails-10820] - UrlMappings koncernu produkującego zerowy Params
- [Grails-10822] - Grails 2.3 błędy kompas
- [Grails-10823] - regresji w Grails 2.3.3 -. JSONWriter koduje ukośniki
- [Grails-10824] - Grails 2.3.3 - Test-app nie z rozwidloną realizacji (Grailsc nie można znaleźć)
- [Grails-10829] - Elementy stowarzyszenia zbiórki nie są usuwane,
- [Grails-10831] - DetachedCriteriaTransformer nie można rozwiązać właściwości dynamiczne,
- [Grails-10835] - Zasoby dominującej w UrlMappings posiada nieprawidłowe pochodzenie
- [Grails-10837] - Nie można używać wiązania danych / ValueConverter na polu Enum
- [Grails-10839] - Raw koder nie działa w układach
- [Grails-10845] - NoSuchMethodException z abstrakcyjnymi kontrolerów i obsługi wyjątków
- [Grails-10853] - wiązania danych i wiele-ended stowarzyszenia
- [Grails-10864] - dane XML Binding robi praca
- [Grails-10865] - Błędny typ ogólny wiążące, jeżeli złożony jest w klasie nadrzędnej
- [Grails-10866] - Groovy procedur obsługi wyjątków w sterownikach nie kompilacji
- [Grails-10867] - app lib słoiki są pominięte resolve cache
- [Grails-10868] - wiążące kolekcji xml -. Nie można zaktualizować istniejące elementy kolekcja
- [Grails-10871] - BindindFormat i ograniczenia blok dodanie dwóch errros na tym samym polu,
- [Grails-10876] - JSON.use ("głęboki") nie działa na Null Stowarzyszenia
- [Grails-10886] - W systemie Windows, grails v2.3.2, 2.3.3, 2.34 (nowy projekt) dodanie BuildConfig zależności wyniki błędów wtyczki. Działa na 2.3.1!
- Wzrost:
- [Grails-10554] - Błąd typeMismatch dla obiektu polecenia nie powinien iść z wartości pustych błędu
- Nowa funkcja:
- [Grails-10838] - Grails 2.3.x odpowiednikiem StructuredPropertyEditor
- Zadanie:
- [Grails-10840] - zwyczaje przeglądu InputStreamReader i OutputStreamWriter które używają wartości "file.encoding" własność System
- [Grails-10846] - Upgrade Aby grails-danych-mapping 2.0.5
Co nowego w wersji 2.3.3:
- Bug
- [Grails-6314] - grails.sitemesh.default.layout jest stosowana do renderowania "... jakiś tekst ...."
- [Grails-9056] - renderowanie pliku: skrót uszkodzony w 2.0.3
- [Grails-9504] - do przodu nie działa prawidłowo podczas korzystania dzielone url
- [Grails-10520] - Grails REST HalJsonRenderer nie z niecierpliwością załadowanych wielu-wielu podmiotów relacja statku
- [Grails-10572] - `pom true` z Aether ignoruje wykluczenia w projekcie POM
- [Grails-10636] - Grails uruchomić serwer na opracowanie trybu renderowania wynik działania kontrolera jako JSON, błąd 404 po modyfikacji sterownika
- [Grails-10653] - _GrailsWrapper zakłada grailsHome jest ustawiony - nie skrzynka dla Maven / Gradle
- [Grails-10720] - Nie można utworzyć makiety dla klasy
- [Grails-10735] - Błąd w przeładunku zmiany klasy domeny
- [Grails-10748] -PostConstruct adnotacji uszkodzony w eksploatacjiTransactional adnotacji. "Metoda adnotacji wymaga metody nie-Arg"
- [10749]-Grails - DataBindingListeners w kontekście aplikacji są wywoływane nawet jeśli ich wsporniki () zwraca false
- [Grails-10756] - Nie można uruchomić dowolną aplikację w trybie odłam
- [Grails-10760] - literówkę w sekcji Opis params
- [Grails-10763] - UrlMappings nie obsługuje komentarze na pokolenie web.xml
- [Grails-10765] - NPE na org.codehaus.groovy.grails.web.util.StreamCharBuffer.toCharArray
- [Grails-10766] - Fałszywe dla unikalnych ograniczeń po aktualizacji do 2.3.2
- [Grails-10768] - Konsola: setTargetDirectory () wyrzuca wyjątek po utworzeniu pierwszego modelu domeny
- [Grails-10770] - "IllegalArgumentException: Czy nie dyspozycję [głowy] do tego wniosku" po uaktualnieniu do Grails 2.3.x
- [Grails-10775] - Environment.developmentMode nie działa z powodu błędu pamięci podręcznej
- [Grails-10776] - pliki w src / Groovy dodanych wtyczek nie można znaleźć na pierwszy test-app
- [Grails-10777] - printlns nie są już częścią sprawozdania z badań,
- [Grails-10778] - dokumentacja wiązania z danymi mapy nie działa,
- [Grails-10780] - Nie można uczynić tekst w filtrze afterView
- [Grails-10781] - HAL JSON renderowania zawiera ofert dla Enum
- [Grails-10783] - Zagnieżdżone / połączony g: applyLayout jest uszkodzony z grails.views.gsp.sitemesh.preprocess = false ustawienie
- [Grails-10785] - JUnit3 Integracja Przypadek Testowy: dane utworzone w ramach metody konfiguracji nie jest rollbacked na końcu
- [Grails-10796] - związki Kolekcja przypisane do właściwości są dodawane, a nie zastąpić
- [Grails-10808] - Dodaj atrybut relativeUri do linku, createLink, postaci itp tagi
- Wzrost:
- [Grails-9941] - Instrukcja 2.12 i 2.13 są mylące,
- [Grails-10410] - Zrób to możliwe, aby przejść model układ szablonu w gramach: applyLayout
- [Grails-10761] - DodajNotTransactional adnotacji do znakowania metodę pomijanych od poziomu klasyTransactional dopiskiem przekształcić
- [Grails-10772] - Poprawa wydajności BeforeValidateHelper
- [Grails-10789] - Dokumentacja nie wspomina konwencję i18n etykiet pól domeny "
- [Grails-10790] - Wsparcie same dane możliwości dla zbiorów i mapy na temat klas porywające wiążące
- [Grails-10799] - Poprawa "czynią obj jako JSON" wydajność
- Zadanie:
- [Grails-10795] - TODO: uaktualnienie wtyczki do 7.0.47 tomcat w wersji domyślnej BuildConfig.groovy przed następnym wydaniu Grails
Wymagania :
- Oracle Java Standard Edition Runtime Environment,
Komentarze nie znaleziono