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?
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?
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?
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ưupom.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ẽ).
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