Java 相当于 VS 解决方案文件

2022-09-01 14:32:03

我是一个试图学习Java的C#人。我了解Java平台的语法和基本架构,并且自己做较小的项目没有问题,但我真的希望能够下载一些开源项目来学习其他人的工作。但是,我遇到了一个绊脚石,我似乎找不到任何信息。

当我下载一个开源的.NET项目时,我可以使用visual studio打开.sln文件,一切都会加载。当然,偶尔会缺少引用或其他内容,但是实际上只需要很少的配置就可以让事情继续下去。我没有感觉到Java具有相同的易用性。我目前正在使用eclipse,感觉对于每个项目,我都必须使用“从现有源代码创建”创建一个全新的Eclipse项目,如果没有重大的重新配置,几乎没有任何东西可以正确编译。在Web项目的情况下,情况更糟,因为Eclipse似乎不支持从现有源代码创建Web项目。我必须从源代码创建一个标准的Java项目,然后显然修改项目文件以包含Web工具包内容正常工作的绑定。

假设我希望以后能够为项目做出贡献,那么我就不必对文件结构进行如此剧烈的更改,以使我的IDE达到可行的状态。我错过了什么?


答案 1

解决此问题的最佳方法是首先从等式中删除IDE。在 C# 中,只有一个环境,因此假定存在默认 IDE。在 Java 中,缺省 IDE 不存在。

最后,Java是关于java源文件和支持jar的。如果你弄清楚这些是什么,你99%的回家路。然后,您可以为该集应用您喜欢的构建系统。某些项目需要运行时环境,如 Web 服务器来处理 JSP 文件。如果您了解基本设置是什么(由规范指定),则可以快速设置 IDE 来处理该设置。

如果我得到一个包含java文件和支持jar的项目,我会启动Eclipse,创建一个新项目,将其指向项目的基目录,Eclipse将自动检测它找到的内容并相应地设置项目。

但是项目通常包含构建环境。诀窍是弄清楚哪一个:

  • 如果存在生成.xml文件,则它使用的是 ANT。这是一个“制造”式的工具。您可以在构建文件所在的目录中执行“ant”(如果您安装了ANT),它将尝试编译。所有 IDE(如 Eclipse 和 NetBeans)都可以识别构建.xml文件,并允许从 IDE 内部启动 ant。不能保证支持罐子会存在。

  • 如果存在 pom.xml 文件,则它使用的是 Maven。Maven也是一个类似制造的工具,但强制执行更严格的构建周期。另外(这可能是它最大的优势),它会自动下载支持jars。如果您安装了Maven,您会对它下载的内容感到惊讶...只是坐紧,它最终会解决。IDE通常需要一个插件来支持pom.xml,但随后您会自动立即设置整个项目。

  • 如果存在 .project 文件,则它通常是 Eclipse 项目

  • 如果存在 nbproject 目录,则它是一个 NetBeans 项目

了解构建环境/ IDE比尝试在您知道的构建环境中设置项目更多的工作。所以我总是试图让它在Eclipse中运行。通常,一旦您了解了 IDE,项目就很容易运行。

拥有多种做事方式并不总是令人愉快的,但这是拥有开放社区的代价。如果只有一个IDE,它会让事情变得更容易,但我喜欢这样一个事实,即有更多的人试图弄清楚完成工作的最佳方法是什么。


答案 2

在某些情况下,您可能真的需要做出重大改变。一个设计良好的构建系统在大多数平台上根本不需要配置,也许在异国情调的平台上也需要一些更改。但是,Java没有单一的标准构建系统。有些人使用Eclipse,有些人使用Apache Ant,有些人使用Apache MavenApache Maven2。如果你要从头开始创建一个项目,那么Maven或Ant可能是理想的选择。如果使用 NetBeans IDE,则您创建的项目将自动包含 Ant 生成文件(以便可以使用 Ant 在所有系统上生成该文件),但会添加其他元数据,以便 NetBeans IDE 能够识别该文件。如果您创建一个 Maven 项目,无论是直接使用 Maven 还是使用 Eclipse 或 NetBeans 等 IDE,那么同一个项目都可以加载到 NetBeans 或 Eclipse 中,而无需任何其他配置更改(尽管您可能需要为 Eclipse 安装一个插件才能识别 Maven 项目;NetBeans 开箱即用地识别 Maven 项目)。如果您要从头开始一个项目,您可能对 Java 项目模板感兴趣。如果您正在为现有项目做出贡献,那么您查看/编辑项目的方式取决于所选的构建系统;如果项目已经使用了Maven或Ant,那么将其与其他IDE一起加载应该相当简单,而如果项目使用特定的IDE的怪癖或使用一些更奇特的构建系统,则可能更难。


推荐