2011-08-25 27 views
11

Tôi đang sử dụng STS và Java từ một thời gian để phát triển một ứng dụng web. Dự án được cấu hình để sử dụng Maven, Roo và MySQL làm cơ sở dữ liệu. Tôi thường thấy rằng tôi lãng phí rất nhiều thời gian trong các trường hợp sau đây:STS Mùa xuân với Roo và Maven - quá chậm?

  1. Không Roo phản ứng - khi tôi sửa đổi một lớp đối tượng Java miền ngay cả khi vỏ Roo cho dự án là mở và nạp nó sẽ không trả lời. Nỗ lực hiện tại của tôi đối với vấn đề này là tạo một công cụ tìm mới cho lớp bằng cách sử dụng roo (điều này đánh thức Roo bằng cách nào đó). Có hack tốt hơn không?

  2. Thời gian dài để biên dịch - Tôi đã thiết lập tự động làm tùy chọn dự án. Có lẽ tôi không nên sử dụng nó. Nhưng điểm mấu chốt là đôi khi tôi cần phải thực hiện một thay đổi nhỏ trong một đối tượng miền và sau đó chạy dự án vì thế tôi cần phải xây dựng lại dự án và thử nghiệm nó (ngay cả đối với những thay đổi nhỏ). Có bất kỳ thuộc tính nào mà tôi có thể cấu hình để biên dịch lại chỉ một số phần của dự án không?

  3. Maven và Pom - Tôi thường thấy các vấn đề với Maven như bất cứ khi nào tôi đã thay đổi phụ thuộc vào pom.xml tập tin và lưu nó trong khi quên được trên một mạng nội bộ công ty thư viện .m2 sẽ không được cập nhật một cách chính xác. Trong những trường hợp đó, tôi nên chuyển sang mạng nội bộ không phải trước khi lưu pom.xml. bit gây phiền nhiễu là khi tôi thay đổi tùy chọn mạng và chạy lệnh "cập nhật tất cả phụ thuộc maven", nó sẽ không thực hiện đúng cách. Lý do là các tệp pom cho thư viện mới được tạo nhưng có thông báo lỗi là nội dung. Vấn đề dường như là Maven tạo ra các tệp này nhưng sau đó không đủ thông minh để nhận ra chúng và cố gắng tìm nạp lại các thư viện từ các kho lưu trữ web. Để khắc phục điều này, tôi cần xóa nội dung của thư mục và chạy lại lệnh. Có ai đã tìm ra giải pháp tốt hơn không?

Có thật sự đáng giá không? Và nếu như vậy khi nào?

Tôi thấy rằng Roo rất tốt để bắt đầu và tạo cấu hình cơ sở dữ liệu và dự án ban đầu (ví dụ: bảo mật). Nhưng sau đó? Cho đến nay tôi đã sử dụng Roo để tạo ra các trình tìm kiếm nhưng tôi thường thấy rằng phải mất khoảng 10-15 phút để Roo cập nhật khi một công cụ tìm mới được thêm vào một lớp (dự án của chúng ta là khá lớn). Tôi đang xem xét bắt đầu giữ cho trình bao Roo đóng hầu hết các lần và tự thêm người tìm trong các tệp .aj và tự chú thích tệp .java. Điều này sẽ xung đột với Roo sau đó (ví dụ: khi tôi mở trình vỏ Roo vì một số lý do khác)?

Java và STS

Tại sao dự án mất nhiều thời gian để biên dịch? Ý tôi là, tôi tưởng tượng rằng STS đang kiểm tra rằng trong mọi lớp đơn lẻ không có sự phụ thuộc với các tệp đã sửa đổi gần đây và nếu có một tệp cập nhật mã và tạo lại tệp jar. Điều này có đúng không? Nếu tôi đang sử dụng PHP hoặc Python thì sao? Điều tương tự sẽ xảy ra hoặc sẽ nhanh hơn? Tôi biết có một số cuộc thảo luận về điều này nhưng khi tôi liệt kê các vấn đề tôi đang có, tôi nghĩ rằng tôi sẽ đề cập đến điều này là tốt. Là câu hỏi vĩnh cửu về ngôn ngữ để sử dụng và cho cái gì. Trong trường hợp của chúng ta, chúng ta có một cơ sở dữ liệu quan hệ, một lượng lớn dữ liệu, các ràng buộc bảo mật và cần phải thực hiện các phép tính chính xác (cần gõ dữ liệu chặt chẽ).

Trả lời

5

1. Đảm bảo Roo được trỏ đến thư mục chính xác: Preferences, mùa xuân, hỗ trợ Roo

2. Biên dịch lần này thường phức tạp bằng cách xác nhận: Preferences, Validation, kiểm tra Đình chỉ tất cả Preferences xác nhận, Mùa xuân, bỏ chọn các quy tắc xác thực không mong muốn Tùy chọn, Chung, Xây dựng, bỏ chọn xây dựng tự động, sau đó tự xây dựng khi cần

3. Cập nhật phụ thuộc bằng cách nhấp chuột phải vào dự án: Maven, Cập nhật phụ thuộc và Cập nhật cấu hình dự án

Một số mẹo có trong Thẻ phản hồi DZone mà tôi đã viết. http://refcardz.dzone.com/refcardz/eclipse-tools-spring

Kính trọng, Gordon Dickens

1

1.Không có phản hồi ROO

Tôi thường gặp rắc rối với bảng điều khiển ROO trong STS trong các phiên bản trước của ROO. Theo kinh nghiệm của tôi, ROO shell được giới thiệu thông qua dòng lệnh đáp ứng nhanh hơn. Tôi đoán mọi thứ đã được cải thiện trong các phiên bản mới hơn của STS và ROO. Phiên bản bạn đang sử dụng?

2. Thời gian dài để biên dịch

Mặc dù thời gian biên dịch là đủ tốt cho tôi, thủ phạm thường được xác nhận nhà xây dựng. Một số nhà xây dựng xác nhận hợp lệ hóa XML, JSP, cấu hình Spring vv quá nhiều thời gian để hoàn thành. Tôi đã vô hiệu hóa một số trình xác thực để mang lại thời gian xây dựng trong một giới hạn hợp lý.

3. Maven và POM

tôi có kinh nghiệm vấn đề tương tự quá. Mặc dù đây không phải là vấn đề chính xác của ROO, nhưng vì ROO không cung cấp một thay thế cho Maven, đây có thể là một vấn đề nghiêm trọng đối với các dự án ROO. Tôi nghĩ rằng có thể có một tùy chọn trong M2-Eclipse ở đâu đó cho phép bạn chọn lọc một bản cập nhật trên một phụ thuộc.

+0

Cảm ơn bạn đã gợi ý của bạn, có vẻ như Roo của tôi là chơi thủ đoạn xấu với tôi. Bất cứ khi nào tôi sửa đổi một đối tượng miền, thêm một chú thích tìm kiếm theo cách thủ công Roo sẽ không nhặt nó lên (ngay cả khi shell đang mở). Tôi đã xác minh điều này bằng cách nhập "gợi ý" trước khi thêm chú thích và sau khi thêm chú thích. Lần thứ hai thông điệp "gợi ý" sẽ xuất hiện chỉ sau 30 phút và sẽ không có bất kỳ thông báo nào liên quan đến công cụ tìm mới (tôi đã lưu tất cả và biên dịch). – mm24

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