【发布时间】:2012-04-21 22:48:23
【问题描述】:
(首先,我承认,我不喜欢 maven/m2eclipse,但如果我能弄清楚如何克服这些问题,那也不会那么糟糕)
我正在使用 maven/m2eclipse。 m2eclipse 是我所知道的吸收 Maven 罐子的唯一好方法。其中一些可能没有解决方案(但我希望能感到惊讶)。也许解决 #9 就能解决所有问题?
问题
当我运行“mvn clean package”时,就在 Eclipse 中运行单元测试而言,我已经死在水中了,而 maven 正在构建,因为我喜欢多任务但 maven 阻止了我。如何解决这个问题?
我将 eclipse 移动到指向 eclipsegen/classes 但单元测试仍在使用 target/classes 中的类,因此它没有使用我刚刚在 eclipse 中编辑的最新代码,并且调试没有对齐,它是踩到没有代码的空白行。
如果我只是稍微触摸一下 pom.xml,bam,它会在我真的不想要它的时候构建,而自动构建的开启似乎没有帮助。
-
在 #3 之上,我得到随机的 pom 构建下载 jar,这只是冻结了 eclipse 做任何事情,为什么要下载 jar(我有点多任务处理,所以这让我很沮丧)
1234563所以我们可以重现某些版本的问题。 (在 ant 中,我只是修改 xml 来做自定义的东西)。
(我听说这个有一个开放了 5 年的错误)。全局排除,因为我们项目中的人在包含依赖于 log4j 的新事物时会不断破坏东西,并且吸纳该库会破坏我们,因此我们希望全局排除它,以便人们在添加新事物时停止破坏项目(IVY 具有全局排除,为什么不会行家!!!!)
在 maven 中从 xsd 生成的 xml 代码大约是在 ant 中生成的代码的 2-3 倍。为什么是这样?我认为真的不应该是这样。
运行我的单元测试显示 xxxx-12.0.8-SNAPSHOT 丢失,但在我的 pom.xml 中它清楚地显示 12.0.9-SNAPSHOT 而不是 .8。 IE。 m2eclipse 进入一些奇怪的状态,我被搞砸了,因为有人选择了 maven
(我不喜欢 IvyDE 的原因与我不喜欢 m2eclipse 的原因相同)。在 maven 中,有没有像 Ivy 一样在构建时说 MOVE ALL jars into target/lib 这样我就可以卸载 m2eclipse(如果 maven 有这个功能,我认为我所有的问题都可能消失)....是常春藤的特色,顺便说一句!!!! 注意:我刚刚意识到卸载 m2eclipse 并运行“mvn eclipse:clean eclipse:eclipse”并不是一个真正的选择,因为在这个项目中我必须导入 30 个项目。我认为对于单个项目,这是一个很好的解决方案。
有没有办法像 ant 那样记录为调试目的而运行的命令? (in maven how to log the command that was run?)
我真的应该研究 gradle(我听说它是 maven 和 ant 中最好的),因为 maven 的理论听起来很棒,但你可以看出它存在很多争议(这通常表明工具不好)。真正有用的好工具通常会有一些争议,但没有 maven 那么多,所以这让我三思而后行,因为我不想搞砸接管我项目的人(我知道 ant 会工作)。我认为很多人甚至不考虑这一点。他们认为“我很好,为什么下一个人不会很好”。
关于如何解决上述问题的任何想法?
【问题讨论】: