Grails là một trang web dựa trên mã nguồn mở khung ứng dụng bổ sung cho khung phát triển Web Java và thúc đẩy các ngôn ngữ Groovy. Nó có thể được sử dụng như là một môi trường phát triển độc lập được thiết kế để ẩn tất cả các chi tiết cấu hình hoặc tích hợp vào logic kinh doanh Java của bạn.
Dự án nhằm thực hiện phát triển như đơn giản càng tốt và vì thế nên hấp dẫn đối với một loạt các nhà phát triển không chỉ những người từ cộng đồng Java. Grails là một đầy đủ ngăn xếp khung ứng dụng web thiết kế theo cách như vậy mà nó cung cấp một kinh nghiệm phát triển dòng lót và v.
Cài đặt Grails có thể là một nhiệm vụ khó khăn cho những người mới
Cài đặt Grails có thể là một nhiệm vụ khó khăn cho những người mới đến. Trước hết, bạn nên cài đặt Java SDK (Software Development Kit) 1.5 hoặc cao hơn, sau đó tải về phiên bản mới nhất bằng cách sử dụng nút download chuyên dụng trên.
Lưu tin ZIP trên thư mục Home của bạn và sử dụng một tiện ích quản lý lưu trữ để trích xuất nội dung của nó, mà phải được xuất ra thành một thư mục mới có tên là & ldquo; grails-2.4.4 & rdquo; (xin lưu ý rằng số lượng phiên bản sẽ thay đổi theo thời gian). Đổi tên thư mục để & ldquo;. Grails & rdquo;
Hãy chắc chắn rằng bạn thiết lập biến môi trường JAVA_HOME của bạn
Sau đó, bạn phải tạo ra một môi trường biến GRAILS_HOME trỏ đến vị trí của các tập tin lưu trữ trích xuất (ví dụ như / home / softoware / grails - thay thế & ldquo; softoware & rdquo; với Tên truy nhập của bạn). Thêm vị trí của & ldquo; bin & rdquo; thư mục từ bên trong & ldquo; grails & rdquo; thư mục để biến PATH Java của bạn (ví dụ: $ GRAILS_HOME / bin).
Hãy chắc chắn rằng bạn thiết lập biến môi trường JAVA_HOME của bạn và rằng & ldquo; grails & rdquo; tập tin nhị phân là thực thi - nếu không, chạy & lsquo; chmod + x grails & rsquo; lệnh trong & ldquo; bin & rdquo; thư mục. Sử dụng Grails bằng cách chạy & lsquo; grails & rsquo; lệnh trong một cửa sổ mô phỏng thiết bị. Sau khi tất cả các thành phần được cài đặt, một dấu nhắc sẽ thông báo cho bạn biết rằng bạn đã sẵn sàng để sử dụng Grails và nhập vào tên kịch bản để chạy.
là gì mới trong phiên bản này:
- phát hành này phục hồi giàn giáo năng động như một tính năng. Để sử dụng nó đòi hỏi phiên bản 3.1.0 của các plugin giàn giáo được trong phạm vi biên dịch trong build.gradle:
- biên dịch "org.grails.plugins: giàn giáo: 3.1.0"
là gì mới trong phiên bản 3.0.0:
- Tính năng cốt lõi:
- Groovy 2.4:
- Grails 3.0 đi kèm với Groovy 2.4 với nhiều tính năng mới và cải tiến.
- mùa xuân và mùa xuân 4.1 Boot 1.2:
- Grails 3,0 đi kèm với Spring 4.1 với nhiều tính năng mới và cải tiến.
- Ngoài ra, Grails 3.0 được xây dựng trên Xuân Boot 1.2 cung cấp khả năng để sản xuất các tập tin JAR Runnable có thể nhúng Tomcat, Jetty hoặc container Undertow.
- Gradle Xây dựng hệ thống:
- Grails 3.0 deprecates cũ Gant dựa trên xây dựng hệ thống trong lợi của một mới xây dựng Gradle dựa trên tích hợp chặt chẽ với các plugin hệ sinh thái Gradle.
- Profiles Ứng dụng:
- Grails 3.0 hỗ trợ các khái niệm về cấu hình ứng dụng thông qua một kho lưu trữ hồ sơ mới. Một hồ sơ gói gọn một cấu trúc ứng dụng, thiết lập các lệnh, bổ sung và khả năng. Ví dụ các "web" Cấu hình cho phép xây dựng các ứng dụng web có thể triển khai cho một container Servlet. Trong tương lai nhiều hồ sơ sẽ được xây dựng nhằm vào các môi trường khác nhau.
- Thiết kế lại API dựa trên đặc điểm:
- Các Grails API đã được thiết kế lại để API công cộng là dân cư một cách chính xác theo grails. gói trong khi tin / nội bộ API đó là tùy thuộc vào sự thay đổi có thể được tìm thấy trong các org.grails. gói. Các API lõi cũng đã được viết lại và dựa trên các đặc điểm Groovy.
- Tính năng Web:
- New đánh chặn API:
- Trong các phiên bản trước của Grails, bộ lọc được sử dụng để xác định logic mà chặn thực hiện hành động điều khiển.
- Tính Grails 3.0, API này bị phản đối và đã được thay thế bởi các Interceptor API mới. Một ví dụ có thể đánh chặn được nhìn thấy dưới đây:
- class MyInterceptor {
- boolean trước () {true}
- boolean sau () {true}
- void afterView () {
- // no-op
- Đặc điểm môi trường phát triển:
- New Shell và hệ Mã API:
- Thay thế Gant, Grails 3.0 có lệnh tương tác bao dòng mới tích hợp chặt chẽ với Gradle và cung cấp các API để viết kịch bản tương tác với Gradle và thực hiện các hệ mã.
- Các vỏ mới tích hợp chặt chẽ với các khái niệm về cấu hình ứng dụng với mỗi hồ sơ có khả năng lệnh cụ thể hồ sơ tính rõ nét. Như với các phiên bản trước của Grails, bổ sung có thể xác định các lệnh shell mới có thể gọi Gradle hoặc thực hiện nhiệm vụ tạo mã và tự động hóa dự án.
- Enhanced IDE tích hợp:
- Từ Grails 3.0 được xây dựng trên Gradle, bây giờ bạn có thể nhập một dự án sử dụng Grails IntelliJ phiên bản cộng đồng hoặc Gradle hỗ trợ công cụ GGTS của mà không cần Grails dụng cụ cụ thể. Grails 3.0 plugins được công bố như các tập tin JAR đơn giản làm giảm đáng kể sự cần cho thêm hỗ trợ IDE cụ thể để Grails.
- Application Main Class:
- Mỗi Grails 3.0 mới dự án có lớp ứng dụng mà có một tĩnh chữ ký chính truyền thống vô hiệu lực, nghĩa là để chạy hoặc gỡ lỗi một Grails 3.0 ứng dụng từ một IDE như IntelliJ hoặc GGTS bạn có thể chỉ cần nhấp chuột phải vào các lớp ứng dụng và thực hiện để bắt đầu ứng dụng Grails của bạn. Tất cả Grails 3,0 xét nghiệm cũng có thể chỉ được chạy từ IDE trực tiếp mà không cần phải nhờ đến các dòng lệnh (thậm chí hội nhập / kiểm tra chức năng!).
- Tính năng kiểm tra:
- Hội nhập và Geb thử nghiệm chức năng:
- Grails 3.0 hỗ trợ xây dựng trong hỗ trợ cho Spock / Geb thử nghiệm chức năng bằng cách sử dụng các lệnh tạo ra chức năng kiểm tra. Các xét nghiệm chức năng được dựa trên cơ chế chạy thử xuân Boot và tải các ứng dụng chỉ một lần cho một bộ toàn bộ các xét nghiệm. Các xét nghiệm có thể được chạy từ và IDE và không yêu cầu các dòng lệnh.
- Gradle thử chạy:
- Từ Grails 3.0 được xây dựng trên Gradle cấu hình thực hiện thử nghiệm linh hoạt hơn nhiều và có thể dễ dàng cấu hình để thực hiện song song.
là gì mới trong phiên bản 2.4.4 / 3.0.0 Milestone 1:
- Sử dụng LESS:
- LESS là tuyệt vời khi bạn muốn biên dịch mã bootstrap của bạn từ nguồn hoặc chỉ để sử dụng tại chỗ của css nói chung.
- Tại thời điểm này, để sử dụng ít bạn phải xác định cả một sự phụ thuộc buildscript cũng như một sự phụ thuộc thời gian chạy. Điều này cho phép bạn sử dụng cả hai bộ vi xử lý ít hơn trong chế độ / phát triển debug cũng như trong quá trình lắp ráp cho chiến tranh tiền biên.
- Bây giờ bạn có thể chỉ cần đổi tên tập tin của bạn để application.less application.css và đi đến thị trấn. Nó thậm chí có thể tải về Bootstrap 3.2.2 từ nguồn và sử dụng trong thời gian chạy của bạn trực tiếp.
- Coffeescript:
- Bạn cũng có thể tận dụng chế biến coffeescript bằng cách thêm các com.bertramlabs.plugins: cà phê, tài sản đường ống: 2.0.6 tập tin phụ thuộc của bạn, cũng như phụ thuộc buildscript của bạn .
- Plugin này có một số tính năng tốt đẹp như là có thể tận dụng lợi thế của các nhị phân nút coffeescript, nếu có, cho thời gian xử lý nhanh hơn.
- tay lái:
- Cũng giống như những người khác, chỉ cần thêm com.bertramlabs.plugins: tay lái tài sản đường ống: 2.1.1 plugin để dự án của bạn. Lúc đầu, bạn sẽ phải giữ bản sao của riêng bạn của tay lái-runtime.js để làm cho kết quả file .hbs biên soạn. Tuy nhiên, trong phiên bản tiếp theo AP cho grails, các ứng dụng sẽ có khả năng tiếp cận bao gồm các bản sao của tay lái từ META-INF / thư mục tài sản của mình.
- Build Options:
- Grails mất lợi thế của việc sử dụng các plugin gradle đã tôn tại cho tài sản đường ống. Điều này có nghĩa là chúng ta có thể sử dụng những tùy chọn cấu hình trực tiếp trong file build.gradle của chúng tôi để kiểm soát cách các tập tin được biên dịch cho sản xuất.
là gì mới trong phiên bản 2.3.4:
- Bug:
- [GRAILS-7833] - Không thể sử dụng tham Bảng trong Non-Mặc định Schema trong PostgreSQL
- [GRAILS-8737] - Grails không nhận ra đã existent tham gia bảng trong một đến nhiều mối quan hệ bằng cách sử dụng một ánh xạ lược đồ postgres
- [GRAILS-9778] - Grails trên Cygwin cho thấy "không thể chuyển đổi con đường trống rỗng"
- [GRAILS-9805] - GORM autoTimestamp không làm việc cho cơ sở dữ liệu trình tự dựa trên
- [GRAILS-10207] - Hạn chế được bỏ qua khi một khối ánh xạ được định nghĩa cho một tài sản
- [GRAILS-10469] - dự báo trong kết quả trả về lỗi createCriteria
- [GRAILS-10.594] - Tạo bài kiểm tra ứng dụng: lỗi trong việc mở tập tin zip
- [GRAILS-10.686] - NoSuchMethodError cho GormStaticApi.setTransactionManager ()
- [GRAILS-10.692] - Không thể thêm phụ thuộc vào mùa xuân-ldap để grails dự án
- [GRAILS-10.714] - NoSuchMethodError cho GormStaticApi.setTransactionManager () khi chạy bằng cách sử dụng Maven
- [GRAILS-10.736] - Chạy với Maven và Oracle cơ sở dữ liệu cấu hình được bỏ qua và h2 luôn được sử dụng
- [GRAILS-10.793] - Trên Windows, grails v2.3.2 hoặc 2.3.3 (dự án mới) thêm BuildConfig phụ thuộc kết quả trong các lỗi plugin. Hoạt động trên 2.3.1!
- [GRAILS-10.803] - Có thể không nhìn thấy Trung Quốc trong bản ghi giao diện trong 2.3.x
- [GRAILS-10806] - tiêu đề tùy chỉnh không được gửi như là một phần của câu trả lời cho application / json
- [GRAILS-10.817] - JSON vấn đề chuyển đổi charset
- [GRAILS-10.818] - Có thể cho một phiên bản cũ của một jar groovy để kết thúc trong một tập tin chiến tranh
- [GRAILS-10820] - Nhóm UrlMappings Sản xuất vô Params
- [GRAILS-10.822] - Grails 2.3 lỗi la bàn
- [GRAILS-10.823] - Regression trong Grails 2.3.3 -. JSONWriter mã hóa dấu gạch chéo
- [GRAILS-10.824] - Grails 2.3.3 - kiểm tra ứng dụng không thành công với thực forked (Grailsc không thể được tìm thấy)
- [GRAILS-10.829] - Các yếu tố của một hiệp hội sưu tập không được xóa
- [GRAILS-10.831] - DetachedCriteriaTransformer không thể giải quyết tính năng động
- [GRAILS-10.835] - Tài Chánh trong UrlMappings giữ tổ tiên không chính xác
- [GRAILS-10.837] - Không thể sử dụng kết dữ liệu / ValueConverter cho một lĩnh vực Enum
- [GRAILS-10.839] - encoder liệu không hoạt động trong bố trí
- [GRAILS-10.845] - NoSuchMethodException với bộ điều khiển trừu tượng và xử lý ngoại lệ
- [GRAILS-10.853] - ràng buộc dữ liệu và nhiều kết thúc hiệp hội
- [GRAILS-10.864] - dữ liệu xml ràng buộc doesnt làm việc
- [GRAILS-10.865] - kiểu chung chung Wrong ràng buộc nếu nộp là trong tầng lớp phụ huynh
- [GRAILS-10.866] - xử lý ngoại lệ Groovy trong bộ điều khiển không biên dịch
- [GRAILS-10.867] - Ứng dụng lọ lib được bỏ ra khỏi bộ nhớ cache quyết
- [GRAILS-10.868] - bộ sưu tập xml ràng buộc -. không thể cập nhật các mặt hàng sưu tập hiện có
- [GRAILS-10.871] - BindindFormat và hạn chế chặn việc thêm hai errros trên cùng lĩnh vực
- [GRAILS-10.876] - JSON.use ('sâu') Không vào Hội Null
- [GRAILS-10.886] - Trên Windows, grails v2.3.2, 2.3.3, 2,34 (dự án mới) thêm BuildConfig phụ thuộc kết quả trong các lỗi plugin. Hoạt động trên 2.3.1!
- Cải tiến:
- [GRAILS-10.554] - lỗi typeMismatch cho đối tượng lệnh không nên đi với lỗi nullable
- Tính năng mới:
- [GRAILS-10838] - Grails 2.3.x tương đương cho StructuredPropertyEditor
- Task:
- [GRAILS-10.840] - tập quán xét của InputStreamReader và OutputStreamWriter rằng sử dụng giá trị của "file.encoding" sở hữu hệ thống
- [GRAILS-10.846] - Nâng cấp Để grails-dữ liệu bản đồ 2.0.5
là gì mới trong phiên bản 2.3.3:
- Bug:
- [GRAILS-6314] - grails.sitemesh.default.layout được áp dụng để render "... một số văn bản ...."
- [GRAILS-9056] - làm file: shortcut bị hỏng trong 2.0.3
- [GRAILS-9504] - Chuyển tiếp không hoạt động khi sử dụng url gạch nối
- [GRAILS-10520] - Grails REST của HalJsonRenderer không thành công với háo hức nạp nhiều-nhiều đơn vị tàu quan hệ
- [GRAILS-10.572] - `pom true` với Aether bỏ qua loại trừ trong dự án POM
- [GRAILS-10636] - grails chạy trên máy chủ phát triển chế độ trả kết quả hành động điều khiển như JSON, 404 lỗi sau khi điều khiển sửa đổi
- [GRAILS-10.653] - _GrailsWrapper giả grailsHome được thiết lập - không phải trường hợp cho Maven / Gradle
- [GRAILS-10.720] - Không thể tạo mô hình cho lớp
- [GRAILS-10.735] - Lỗi trong nạp lại thay đổi lớp miền
- [GRAILS-10.748] -PostConstruct chú thích bị hỏng trong dịch vụ với chú thíchTransactional. "phương pháp chú thích đòi hỏi một phương pháp không arg"
- [GRAILS-10.749] - DataBindingListeners trong bối cảnh ứng dụng được gọi ngay cả khi sự hỗ trợ của họ () phương thức trả về false
- [GRAILS-10.756] - Không thể bắt đầu bất kỳ ứng dụng trong chế độ chia hai
- [GRAILS-10.760] - Lỗi chính tả trong Description phần của Params
- [GRAILS-10.763] - UrlMappings không hỗ trợ nhận xét về thế hệ web.xml
- [GRAILS-10.765] - NPE trên org.codehaus.groovy.grails.web.util.StreamCharBuffer.toCharArray
- [GRAILS-10.766] - Sai tích cực cho ràng buộc duy nhất sau khi nâng cấp lên 2.3.2
- [GRAILS-10.768] - console: setTargetDirectory () ném ngoại lệ sau khi tạo mô hình tên miền đầu tiên
- [GRAILS-10770] - "IllegalArgumentException: Không thể bố trí [đầu] để yêu cầu này" sau khi nâng cấp lên Grails 2.3.x
- [GRAILS-10.775] - Environment.developmentMode không hoạt động vì lỗi bộ nhớ cache
- [GRAILS-10.776] - tập tin trong src / groovy plugin thêm vào có thể không được tìm thấy trên rất đầu tiên thử nghiệm ứng dụng
- [GRAILS-10.777] - dòng lệnh println không còn là một phần của báo cáo kiểm tra
- [GRAILS-10778] - Databinding bản đồ tài liệu không hoạt động
- [GRAILS-10.780] - Không thể làm cho văn bản trong một bộ lọc afterView
- [GRAILS-10.781] - vẽ HAL JSON chứa dấu ngoặc kép cho Enum
- [GRAILS-10.783] - Nested / sáp nhập g: applyLayout được phá vỡ với grails.views.gsp.sitemesh.preprocess = thiết lập false
- [GRAILS-10.785] - JUnit3 Integration Test Case: dữ liệu được tạo trong phương pháp thiết lập không được rollbacked ở cuối
- [GRAILS-10.796] - hiệp hội sưu tập được giao thông qua các thuộc tính được thêm vào chứ không phải là thay thế
- [GRAILS-10808] - Thêm thuộc tính relativeUri cho liên kết, createLink, hình thức, vv thẻ
- Cải tiến:
- [GRAILS-9941] - Các nhãn 2.12 và 2.13 là khó hiểu
- [GRAILS-10410] - Làm cho nó có thể để vượt qua mô hình để bố trí mẫu trong g: applyLayout
- [GRAILS-10.761] - Thêm chú thíchNotTransactional để đánh dấu một phương pháp để được bỏ qua từ cấp lớp chú thíchTransactional biến
- [GRAILS-10.772] - Cải thiện hiệu suất BeforeValidateHelper
- [GRAILS-10.789] - Tài liệu không đề cập đến ước i18n cho nhãn lĩnh vực miền '
- [GRAILS-10.790] - Hỗ trợ dữ liệu cùng khả năng cho các bộ sưu tập và bản đồ trên lớp groovy ràng buộc
- [GRAILS-10.799] - Cải thiện "render obj như JSON" hiệu suất
- Task:
- [GRAILS-10.795] - TODO: cập nhật plugin để 7.0.47 phiên bản mặc định trong BuildConfig.groovy tomcat trước khi phiên bản tiếp theo của Grails
Yêu cầu :
- Oracle Java Standard Edition Runtime Environment
Bình luận không