2012-01-31 18 views
12

Tôi đang chạy GWT từ bên trong IntelliJ. (Plain GWT, IntelliJ v9). Tôi có thể chạy ứng dụng của mình thông qua cấu hình "GWT mode mode", nhưng khi tôi cố gắng chạy nó thông qua cấu hình "tomcat cục bộ", tôi nhận được một loạt các thông báo lỗi không thể hiểu được đề cập đến Oracle và mọi thứ kỳ lạ Tôi không sử dụng, theo sau là lỗi này được sắp xếp ở cuối tất cả các lỗi khác:Trình biên dịch GWT sắp hết bộ nhớ. Làm thế nào để cấu hình nó trong IntelliJ?

Lỗi: Hết bộ nhớ; để tăng dung lượng bộ nhớ, hãy sử dụng cờ -Xmx khi khởi động (java -Xmx128M ...)

Tôi đoán rằng lỗi này là nguyên nhân gốc.

Theo hiểu biết của tôi, có một bước biên dịch GWT chạy trong một JVM riêng biệt với cả IntelliJ và tomcat, và vì vậy tôi không chắc chắn nên đặt tham số -Xmx ở đâu.

Câu hỏi của tôi là: tôi tìm thông số -Xmx ở đâu? (Và: Tôi đang đi đúng hướng, có tính đến thông báo lỗi này theo mệnh giá, hoặc là nó là triệu chứng của các vấn đề sâu sắc hơn?)

Trả lời

13

Bạn có thể cấu hình các đống trong các thiết lập khía cạnh GWT:

gwt facet heap

2

Vì CrazyCoder vừa nói bạn có thể tăng dung lượng bộ nhớ cho trình biên dịch gwt trong cài đặt GWT Facet. Trình biên dịch GWT hết bộ nhớ trên các ứng dụng lớn hơn là rất phổ biến nếu bạn không tăng dung lượng bộ nhớ. Hầu hết các dự án nên được tốt với 512m, nhưng trên các dự án lớn tôi đã cần nhiều bộ nhớ hơn.

Vì vậy, đây không phải là một số lỗi do bộ nhớ gây ra bởi một số thiết kế xấu thay cho bạn.

2

Trong ứng dụng của tôi, tôi đặt nó thành 1024 nhưng nó cho tôi hết bộ nhớ sau khi làm mới 7-9 trang trên chế độ nhà phát triển. Và sau đó tôi đã cố gắng để tối ưu hóa nó bằng cách làm hiệu suất hack, tôi tách ra * .gwt.xml của tôi cho mỗi mô-đun gwt cho các trình duyệt cụ thể bằng cách thiết lập:

MySampleModule_FF.gwt.xml

<set-property name="user.agent" value="gecko1_8"/> 

và tôi chạy chế độ dev của tôi với gwt.xml này cho Firefox. Ngoài ra nó cũng tách ra quốc tế hóa là tốt.

Sau đó, sự cố hết bộ nhớ của tôi giảm đáng kể.

0

JDK 32 bit đôi khi cũng gây ra lỗi Out Of Memory. Hãy thử sử dụng JDK 64 bit.

0

Đối với những người gặp lỗi tương tự trong Eclipse, hãy thử khôi phục tệp bộ nhớ cache (nếu chúng bị vô tình xóa trong thư mục WAR), cách này tôi giải quyết cùng một vấn đề trong dự án Eclipse của tôi.

Các vấn đề liên quan