标准Java项目描述格式

时间:2010-02-23 21:37:12

标签: java

我来自Visual Studio非常普遍的.NET世界。 VS有一个.sln文件,它非常详尽地描述了一个项目,包括在哪里找到源文件,依赖项等。

现在我正在团队中进行一些java编码。我的问题是:我正在使用intellij而其他人正在使用eclipse(而其他人可能正在使用其他IDE)。是否有可以在IDE之间共享的标准项目描述文件?我显然不想把我的intellij特定文件放到源代码控制中。所以我正在寻找的是一个标准,几乎任何自尊的IDE都会认识到你可以指出它,它能够解释项目结构,如何找到依赖关系,类路径等等。

8 个答案:

答案 0 :(得分:3)

Maven应该能够做到(项目构建管理器和源代码控制覆盖),但是,没有标准的项目文件。有适用于所有主要IDE的Maven插件。 http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

答案 1 :(得分:2)

请注意。但是你有一条“出路”。您可以使用Maven2。它有一个统一的pom文件,其中包含所有:

  • 源文件夹(注意:maven对这些文件夹强加了默认约定,但它们仍然是可配置的)
  • 编译器级别
  • 依赖关系
  • 构建步骤
  • 等。

(当然需要为两个IDE安装maven插件)

另一个选择是强制任一IDE并提交其专有描述符。

答案 2 :(得分:1)

正如其他人发布的那样,Ant和Maven几乎是Java世界中事实上的项目规范实用程序。这些通常都很容易学习 - 公平的学习曲线,但没有什么戏剧性 - 而且非常强大。您可以与您的团队成员或领导者交谈,看看他们是如何处理的 - 我确信这不是一个新问题。

除此之外,很多开发团队(根据我的经验,至少)试图避免将项目文件放在源代码管理中。开发人员必须基本上在他们使用的IDE中创建自己的项目。对于一个刚刚进入现有项目的开发人员来说,开始一个项目的开发有点困难,但它也有助于开发人员更好地了解项目。

在我的商店(非常非常小团队),我们使用Eclipse,但我们仍然需要自己管理工作区(类似于VS解决方案,但不完全相同)。我已经创建了一些Ant脚本,可以在我们的持续集成服务器上使用,这不一定能避免出现问题,但它有助于使它们更加明显。

答案 3 :(得分:0)

据我所知,目前还没有这样的标准项目描述文件。但intellij能够进行日食并转换为intellij项目。您也可以查看maven

答案 4 :(得分:0)

没有一个。你可以使用ANT切换到一个构建系统(类似于Make)但是它有自己的缺陷。如果您和您的团队在IDE上实现标准化,您将获得最多的里程......

答案 5 :(得分:0)

我认为您在这里想要的是使用Eclipse编辑项目设置的开发人员,并将这些更改反映在IDEA中以供其他开发人员使用。如果是这种情况,那么Maven就是你想要的。 IDEA 9.x对Maven有很大的支持,Eclipse也是如此。如果使用Eclipse的开发人员编辑Maven项目文件(pom.xml文件)中的依赖项,则IDEA可以导入文件并更改其项目设置。

RE:ANT vs Maven - 在这方面(同步项目设置)ANT构建文件将无法工作,因为它们是必需的(类似脚本)而不是声明性的。

答案 6 :(得分:0)

Maven应该是首选方式,但大多数IDE现在支持某种基于蚂蚁的项目,这是大多数IDES内部使用的。通常称为自由形式项目。

答案 7 :(得分:0)

我自己不是Maven粉丝。我会在Maven之前推荐Ant。

如果您正在使用IntelliJ,我认为它确实有一个非常标准的习惯用法。而且因为它可以导入任何Eclipse项目文件,所以你将会像IntelliJ那样安全地铺设东西。

我没有检查我的IntelliJ项目文件,但/ src,/ lib,/ test,/ resources等都是合理的游戏。

真正的答案应该是你的团队应该蜷缩在一起并提出一个你同意的标准布局,而不管IDE。你必须在某个时候检查代码到SVN。

我的问题对我很有意思,因为我正试图向另一个方向发展(Java-> C#,IntelliJ-> Visual Studio),而我在向另一个方向进行映射时遇到了麻烦。

我认为这只是学习语言及其原生IDE的一部分。我发现最好找一位经验丰富的导游。

您将遇到的一个问题是.NET Universe是各向同性的(所有Microsoft),甚至Java Universe的小角落都是异构的(IntelliJ和Eclipse和NetBeans)。你不太可能为所有Java找到一个真正的答案。