2010-05-24 29 views
22

Tôi là một anh chàng C# đang cố gắng học Java. Tôi hiểu cú pháp và kiến ​​trúc cơ bản của nền tảng Java, và không có vấn đề gì khi thực hiện các dự án nhỏ hơn, nhưng tôi thực sự muốn có thể tải xuống một số dự án nguồn mở để học hỏi từ công việc của người khác. Tuy nhiên, tôi đang chạy vào một trở ngại mà tôi dường như không tìm thấy bất kỳ thông tin nào.Java tương đương với tập tin giải pháp VS

Khi tôi tải xuống dự án .NET nguồn mở, tôi có thể mở tệp .sln bằng studio trực quan và mọi thứ chỉ tải. Chắc chắn, đôi khi có một tham chiếu bị thiếu hoặc một cái gì đó, nhưng có rất ít cấu hình cần thiết để có được những thứ đang diễn ra. Tôi không cảm thấy dễ sử dụng với Java. Tôi đang sử dụng nhật thực tại thời điểm này và cảm thấy như mọi dự án tôi phải tạo một dự án Eclipse hoàn toàn mới bằng cách sử dụng "tạo từ nguồn hiện có" và hầu như không biên dịch đúng cách mà không cần cấu hình lại đáng kể. Trong trường hợp các dự án web, nó thậm chí còn tồi tệ hơn, bởi vì Eclipse không xuất hiện để hỗ trợ việc tạo một dự án web từ nguồn hiện có. Tôi phải tạo một dự án Java chuẩn từ nguồn, sau đó rõ ràng sửa đổi tệp dự án để bao gồm các ràng buộc cho các công cụ webkit để hoạt động đúng.

Giả sử tôi muốn có thể đóng góp cho dự án sau này, tôi không cần phải thực hiện những thay đổi mạnh mẽ như vậy đối với cấu trúc tệp để đưa IDE của tôi về trạng thái khả thi. Tôi đang thiếu gì?

Trả lời

25

Cách tốt nhất để thực hiện việc này, trước hết là xóa IDE khỏi phương trình. Trong C# chỉ có một môi trường, do đó, sự hiện diện của IDE mặc định được giả định. Trong Java, một IDE mặc định không tồn tại.

Cuối cùng Java là tất cả về các tệp nguồn java và các jars hỗ trợ. Nếu bạn tìm ra những gì đang có, 99% của bạn về nhà. Sau đó, bạn có thể áp dụng hệ thống xây dựng yêu thích cho bộ này. Một số dự án yêu cầu một môi trường thời gian chạy, giống như một máy chủ web để xử lý các tệp JSP. Nếu bạn hiểu thiết lập cơ bản là gì (theo quy định của đặc tả), bạn có thể nhanh chóng thiết lập IDE để xử lý.

Nếu tôi nhận được một dự án với các tệp java và các jars hỗ trợ, tôi khởi động Eclipse, tạo một dự án mới, trỏ nó vào thư mục cơ sở của dự án và Eclipse sẽ tự động phát hiện những gì nó tìm thấy và thiết lập dự án tương ứng.

Nhưng các dự án thường đi kèm với môi trường xây dựng được bao gồm.Bí quyết là tìm ra cái nào:

  • nếu có tệp build.xml, nó đang sử dụng ANT. Đây là công cụ "làm" giống như. Bạn có thể thực hiện "ant" trong thư mục chứa tệp xây dựng (nếu bạn đã cài đặt ANT) và nó sẽ cố gắng biên dịch. Tất cả các IDE như Eclipse và NetBeans đều nhận ra tệp build.xml và cho phép khởi động kiến ​​từ bên trong IDE. Không có gì đảm bảo rằng các bình hỗ trợ sẽ có mặt.

  • nếu có tệp pom.xml, tệp đang sử dụng Maven. Maven cũng là một công cụ giống như thực hiện, nhưng thực thi một chu trình xây dựng chặt chẽ hơn nhiều. Plus (và điều này có lẽ là lợi thế lớn nhất của nó) nó sẽ tự động tải các lọ hỗ trợ. Nếu bạn đã cài đặt Maven, bạn sẽ ngạc nhiên trước những gì nó tải xuống ... chỉ cần ngồi chặt chẽ, nó sẽ làm việc ra cuối cùng. IDE thường yêu cầu một plugin để hỗ trợ pom.xml, nhưng sau đó bạn sẽ tự động có toàn bộ thiết lập dự án cùng một lúc.

  • nếu một tập tin .project hiện diện, nó thường là một dự án Eclipse

  • nếu một thư mục nbproject là hiện nay, nó là một dự án NetBeans

Tìm hiểu một môi trường xây dựng/IDE là công việc nhiều hơn mà cố gắng để thiết lập một dự án trong một trong những bạn biết. Vì vậy, tôi luôn cố gắng làm cho nó chạy trong Eclipse. Thông thường các dự án khá đơn giản để chạy một khi bạn biết IDE của bạn.

Có nhiều cách làm việc không phải lúc nào cũng dễ chịu, nhưng đó là chi phí để có một cộng đồng mở. Nếu chỉ có một IDE thì nó sẽ làm cho mọi thứ trở nên dễ dàng hơn, nhưng tôi thích thực tế là có nhiều người đang cố gắng tìm ra cách tốt nhất để hoàn thành công việc.

+2

Tôi yêu bạn đã bao gồm các manh mối về hệ thống xây dựng/IDE đã được sử dụng để tạo dự án. Đó là siêu hữu ích cho một noob như tôi. – Chris

+0

@TBee bạn có thể thêm build.gradle vào danh sách các tệp có thể biểu thị cách nguồn được tạo. Câu trả lời của bạn thực sự tuyệt vời và nó sẽ là tuyệt vời để giữ cho nó được cập nhật với các hệ thống xây dựng mới hơn trở nên phổ biến. Gradle được sử dụng bởi android studio cho các dự án android từ kinh nghiệm của tôi nhưng nó có vẻ như nó có thể được sử dụng cho bất cứ điều gì (không phải là một chuyên gia gradle bởi bất kỳ phương tiện). –

2

Trong một số trường hợp, bạn thực sự có thể phải thực hiện các thay đổi mạnh mẽ. Một hệ thống xây dựng được thiết kế tốt sẽ không yêu cầu cấu hình nào trên hầu hết các nền tảng và có lẽ một vài thay đổi trên các nền tảng kỳ lạ. Tuy nhiên, không có hệ thống xây dựng tiêu chuẩn duy nhất cho Java; một số người sử dụng Eclipse, một số người sử dụng Apache Ant và một số khác sử dụng Apache Maven hoặc Apache Maven2. Nếu bạn đã tạo một dự án từ đầu, thì Maven hoặc Ant có lẽ là cách lý tưởng để đi. Nếu bạn sử dụng NetBeans IDE, các dự án mà bạn tạo sẽ tự động chứa tệp xây dựng Ant (để nó có thể được xây dựng trên tất cả các hệ thống sử dụng Ant), nhưng sẽ thêm siêu dữ liệu bổ sung để nó được NetBeans IDE nhận diện. Nếu bạn tạo một dự án Maven, hoặc sử dụng Maven trực tiếp hoặc sử dụng IDE như Eclipse hoặc NetBeans, thì dự án tương tự đó có thể được nạp trong NetBeans hoặc Eclipse mà không cần bất kỳ thay đổi cấu hình bổ sung nào (mặc dù bạn có thể cần cài đặt một plugin cho Eclipse nó để nhận ra các dự án Maven; NetBeans nhận ra các dự án Maven ra khỏi hộp). Nếu bạn đang bắt đầu một dự án từ đầu, bạn có thể quan tâm đến số Java Project Template. Nếu bạn đang đóng góp cho một dự án hiện có, cách bạn xem/chỉnh sửa dự án phụ thuộc vào hệ thống xây dựng đã chọn; nếu dự án đã sử dụng Maven hoặc Ant, việc tải nó với các IDE khác sẽ khá đơn giản, trong khi nếu dự án sử dụng một quirks IDE cụ thể hoặc sử dụng một số hệ thống xây dựng kỳ lạ hơn, nó có thể khó hơn.

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