java - 项目模板 Eclipse/Java

标签 java eclipse version-control maven

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

4年前关闭。




Improve this question




我正在研究为我的团队正在从事的项目类型(嵌入式 Java)创建“项目模板”的可能性。我们希望让新开发人员不要在创建新项目时陷入困境。我们在团队中使用的所有工具都应该是公关的

基本思想是应该有一个命令来设置项目和 IDE 以提供以下内容:

  • 创建一个包含 Eclipse 项目文件的新 Java 项目。
  • 创建一个构建脚本(需要在 IDE 之外工作)。
  • 在构建脚本中包含部署选项。
  • 设置一个 git 项目。
  • 设置 PMD 以使用集成在 IDE 中的一组配置规则运行。
  • 设置 Checkstyle 以使用集成在 IDE 中的一组配置规则运行。
  • 配置代码模板 (Eclipse) 以匹配我们的团队编码指南(Javadoc,...)
  • 配置 Eclipse 代码格式化程序。
  • 命令的配置应该可以轻松升级。

  • 到目前为止,我看到了两种方法来做到这一点:
  • Maven 2 Archetype:我基本上不喜欢 Maven,因为我经常与它作斗争。我不确定尝试让工具做我想要它做的事情的开销是否证明了努力是合理的。另一方面,这似乎正是原型(prototype)应该做的。你有什么经验可以自定义 eclipse:eclipse 部分吗?我想 eclipse 配置是最复杂的步骤。
  • Eclipse Nature:我可以创建一个项目性质。据我了解 Eclipse 生态系统是将显示的组件,如果我选择提供类似右键单击 -> 新建 -> 我的 Java 项目类型的内容。您知道我可以在多大程度上自定义生成的 Eclipse 项目吗?
  • Shell 脚本:我可以创建一个包含所有配置的空项目,在相关的纯文本文件中引入一些特殊标记(例如,然后编写一个从属性文件中读取这些选项的值的 shellscript,复制项目模板并替换值(value)。)。虽然它可能有点脆弱,但它似乎是一种简单快捷的方法。


  • 请给您更多的上下文:没关系,如果结果将我们锁定在 Eclipse 中。虽然构建应该在没有 Eclipse 的情况下运行(对于我们的 CI),但团队使用 Eclipse,而且我们极不可能切换。此外,所有开发人员或多或少都运行相同的硬件 + 软件 (Linux)。我们不在 Enterprise Java Apps 领域工作,所以我们真的不需要来自 maven 的所有花哨的依赖管理东西。事实上,我们的构建过程非常特殊,调用 make 或 ant 脚本可能要容易得多。

    所以问题是:
  • 你对这种东西有什么经验吗?
  • 您对 Eclipse Nature 方式或 Maven 有意见吗?
  • 您知道其他提供此类设置的工具吗?

  • 非常感谢您的意见。

    干杯,
    瓦伦丁

    PS:人们似乎对他们的构建工具很虔诚。请注意,我不想在这里开始支持或反对 Maven 的火焰 war 。我确信 maven 是一个很棒的工具,但我认为在我们的环境中,我们只需要 5% 的功能,而根据我的经验,剩下的 95% 可能会妨碍您。

    最佳答案

    您还可以创建自己的 PDE 工具项目并扩展 PDE 项目模板。

    IBM DelevoperWorks 网络上有一篇很棒的文章,对 Building templates with the Eclipse Plug-in Development Environment 做了很好的介绍。

    您还可以阅读有关以下 PDE 扩展点的 Eclipse 文档:

  • org.eclipse.pde.ui.templates -- 注册用于为新扩展生成代码的插件项目内容模板
  • org.eclipse.pde.ui.newExtension -- 贡献将用于在 PDE 插件 list 编辑器中创建和编辑新扩展的向导
  • org.eclipse.pde.ui.pluginContent -- 提供用于创建 PDE 插件项目附加内容的贡献向导
  • 关于java - 项目模板 Eclipse/Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2092200/

    相关文章:

    svn - 对于一个团队来说,使用像 Mercurial 这样的分布式源代码控制是否值得?

    java - 使用对象或字符串作为参数覆盖

    java - 在 Hibernate 中正确实现一对多单向关系

    version-control - 避免化石中的整个提交

    java - 如何从 eclipse 默认测试类路径中排除一个库?

    android - 无法在 Eclipse JavaEE IDE 中创建新的 android 项目

    mysql - 将 MySQL 数据库置于版本控制之下?

    java - 检查二维数组中第一行的元素是否相同

    java - 我怎样才能接近这台自动售货机?

    spring - 在 Tomcat 上的 Eclipse 中使用带有 Hibernate 5 和 Spring 4 的实用程序模块部署复合项目失败