关于maven的新手问题

时间:2010-05-11 04:21:53

标签: java maven-2 maven

我需要打扰的唯一配置文件是pom.xml吗?

在我看来,Java家伙比其他任何东西都活xml,这是真的吗?

3 个答案:

答案 0 :(得分:3)

Maven将XML用于POM文件,因为XML是描述事物的好选择...... POM文件是项目的描述。我认为Maven实现者可以发明一种自定义语言,但很多人会抱怨学习另一种语言语法。

用某种脚本语言表达Maven POM文件是没有意义的,因为它们不是任何可识别意义上的“脚本”。

  

在我看来,Java家伙比任何其他东西都更多地使用xml,这是真的吗?

没有。 “Java人员”使用各种技术来配置事物:XML,JSON,属性文件,数据库,定制语言,你有人用它来命名。

如果你的问题是你讨厌使用XML,那么:

  • 克服它,
  • 获取一个隐藏您的XML语法的编辑器,
  • 使用(颤抖)Make
  • 使用(呜咽)构建用某种旧的脚本语言编写的脚本,或
  • 离开并实施更好的解决方案。

但我会坚持使用Maven,谢谢。

答案 1 :(得分:2)

  

我需要打扰的唯一配置文件是pom.xml吗?

是的,Maven使用pom.xml文件描述项目的medata并扩展Maven的行为,也称为项目对象模型(POM)文件。

默认情况下,Maven还会查找~/.m2/settings.xml中的每用户配置文件,但此文件是可选的。

  

为什么maven没有使用脚本来完成这类工作,我不认为xml在这里有任何优势,这就是为什么我不喜欢ant

如果不是XML,Maven在2002年应该使用什么? Makefile文件?在我看来,XML对于声明性项目对象模型来说仍然是一个非常不错的选择。是XML很冗长,但它非常适合这项工作,并且可以从验证,转换,代码完成这些对我来说很重要的好东西中受益。

现在,如果您不喜欢使用Maven,并且可以随意使用GradleGantBuildr(如果他们的社区规模不是关注)。

以防万一,请注意Maven 3提供多语言支持(请参阅this postthis one)但正如我所说,在Groovy,YAML等中编写pom不仅具有优势(例如验证)。

答案 2 :(得分:1)

您可能也希望关注settings.xml文件。但是,在大多数情况下,你是正确的,一切都在pom.xml