【问题标题】:.launch files in maven or gradle.launch maven 或 gradle 中的文件
【发布时间】:2012-03-20 12:33:39
【问题描述】:

将 Eclipse 的 .launch 文件放在 maven/gradle 项目中的“正确”/更好的位置是什么?我想提交我的运行配置,但我不知道将文件放在哪里

我知道 maven 和 gradle 总是关于标准化,所以我宁愿问也不愿把它们放在一个随机文件夹中,然后用一些插件遇到麻烦

在每个 maven 模块上创建启动器后,现在每个启动器在 Eclipse 中出现两次。这是因为当我检查我的多模块项目时,它会为顶部 POM 以及每个子 POM 创建一个 Eclipse 项目,并且所有文件在导航器视图中都“重复”,一次用于顶部和每个模块一次。这对我来说意味着要么我的 Maven 组织有问题,要么我把启动器放在了错误的地方

编辑
自从我问了这个问题后,我学到了一种解决这个问题的新方法。在 Eclipse 中启用一个实验功能,这将阻止子项目出现在顶级项目中。该设置位于windows/preferences/maven/隐藏物理嵌套模块的文件夹

【问题讨论】:

  • 它们是 Eclipse 文件,而不是 Maven 文件,所以我会将它们留在 Eclipse 期望找到它们的地方。运行 vanilla Maven(例如从命令行)应该忽略这些文件,除非您明确将某些插件指向它们。
  • 我遇到了同样的问题,出现了重复的启动配置。所以我看到的唯一解决方法是将 .launch 文件放在根项目中,以便 Eclipse 只找到它们一次。不过不是很喜欢……
  • 我最终做的是在根目录中创建一个launchers 文件夹并将它们放在那里。唯一的缺点是,如果您有很多模块并且只想检查一两个,那么您会丢失启动器
  • 有一个关于启动出现两次的旧 Eclipse 错误 -- bugs.eclipse.org/bugs/show_bug.cgi?id=398523
  • @HDave 仅当您将启动器放在子项目中时才会出现这种情况,这意味着启动器文件可以通过子子文件夹中的父项目和子项目访问。一种解决方法是关闭父(聚合器)项目,只在工作区中保持叶项目打开。另一种选择是将启动器移动到父项目,以便它们只能通过 1 个路径使用

标签: eclipse maven gradle


【解决方案1】:

Eclipse 中的标准位置是在项目的根目录中,我总是保存它们(并提交给 SVN)。默认情况下,Maven 会在那里忽略它们,因此它们不会出现在您的工件中。

另外要记住一件事(因为您提到要将启动配置提交给 SCM 并可能与其他人共享):避免启动配置中的绝对路径,因为它们可能不适用于其他人。尝试使用指向本地资源的相对路径或 Eclipse 变量。

编辑:移动了回答问题的评论

在这种情况下,您可能会考虑将它们移动到子目录(启动?)。它应该是 Maven 默认忽略的(所以不是 src/main/java 或 src/main/resources。另一方面,我不确定 Eclipse 是否会从子目录中获取文件。 . 我一直将它们保存在项目根目录中。

【讨论】:

  • 我也注意到了。问题是我有 4 或 5 个启动器,我不喜欢将它们放在根目录中,因为我已经有 maven1 和 maven3 文件
  • 在这种情况下,您可能会考虑将它们移动到子目录(启动?)。它应该是默认情况下被 Maven 忽略的一个(所以不是 src/main/javasrc/main/resources。另一方面,我不确定 Eclipse 是否会从子目录中获取文件......我已经始终将它们保存在项目根目录中。
  • IIRC eclipse 将搜索整个代码树以查找 .launch。所以你说的任何其他目录。我担心在根目录中创建另一个目录会混淆 maven。 Maven 会忽略它吗?
  • 通常是的,它们应该被忽略——每个 Maven 插件都有自己的标准目录,比如 java-compiler-plugin 的 src/main/java。如果你避免明显的问题,你不应该有任何问题。
猜你喜欢
  • 2011-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-01
  • 2017-04-01
  • 2014-05-08
  • 2015-07-18
  • 1970-01-01
相关资源
最近更新 更多