Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何克服这些maven/m2eclipse问题_Maven_M2eclipse - Fatal编程技术网

如何克服这些maven/m2eclipse问题

如何克服这些maven/m2eclipse问题,maven,m2eclipse,Maven,M2eclipse,(首先,我承认,我不喜欢maven/m2eclipse,但如果我能找出克服这些问题的方法,那也不会太糟糕) 我正在使用maven/m2eclipse。m2eclipse是我所知道的唯一一种吸吮maven罐子的好方法。其中一些可能没有解决方案(但我希望能感到惊讶)。也许解决9就能解决所有问题 问题 当我运行“mvn clean package”时,我在eclipse中运行单元测试,而maven正在构建,因为我喜欢多任务,但maven阻止了我。如何避开这个问题 我将eclipse移动到eclipse

(首先,我承认,我不喜欢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的任何操作(我有点多任务,所以这让我非常沮丧)

  • 如果我想修改或做一些我真正需要的定制的事情,答案通常是创建一个java插件,但这需要我创建另一个带有另一个自动构建的源代码管理项目,确保构建标记所有版本,以便我们可以重现某些版本的问题。(在ant中,我只是修改xml来进行定制)

  • (我听说有一个漏洞在这一个上开放了5年)。全局排除,因为我们项目中的人员在包含依赖log4j的新内容时不断破坏内容,而吸吮该库会破坏我们,所以我们希望全局排除它,以便人们在添加新内容时停止破坏项目(常春藤有全局排除,为什么maven没有!!!!)

  • maven中从xsd生成的xml代码大约是ant中的2-3倍。为什么会这样?我想情况真的不应该是这样

  • 运行我的单元测试时说xxxx-12.0.8-SNAPSHOT缺失,但在我的pom.xml中它清楚地说12.0.9-SNAPSHOT没有。8。m2eclipse进入了一种奇怪的状态,我被搞砸了,浪费了更多的时间,因为有人选择了maven

  • (我不喜欢艾维德,原因和我不喜欢m2eclipse一样)。在maven中,有没有像Ivy中那样的方法可以说在构建时将所有JAR移动到target/lib中,这样我就可以卸载m2eclipse(如果maven有这一个功能,我想我所有的问题都会消失)…这是一个Ivy功能,顺便说一下!!!! 注意:我刚刚意识到卸载m2eclipse并运行“mvn eclipse:clean eclipse:eclipse”并不是一个真正的选项,因为在这个项目中,我必须导入30个项目。我认为在单个项目上,这是一个很好的解决方案

  • 难道没有办法像ant那样记录为调试目的而运行的命令吗?()

  • 我真的应该研究一下gradle(我听说它是maven和ant的最佳选择),因为maven的理论听起来很棒,但你可以看出对此有很多争议(这通常表明它是一个糟糕的工具)。真正有帮助的好工具通常会有一些争议,但没有maven那么多,所以这让我三思而后行,因为我不想和接管我项目的人过不去(我知道ant会工作)。我想很多人甚至都不这么认为。他们认为“我很好,为什么下一个男人不会很好”


    关于如何解决上述问题有什么想法吗?

    尽管听起来更快的PC确实可以解决您的一些问题,但我确实同意m2eclipse插件很糟糕(尽管自eclipse indigo以来它的糟糕程度有所降低)。正因为如此,我暂时改用Intellij,但一个月后我又改用eclipse(对我来说,尽管有了m2eclipse,eclipse仍然是最好的)

    我使用m2eclipse可以在eclipse中工作,但仅此而已。我所有的maven构建(打包、安装,等等)都是使用maven本身(命令行)运行的,这仅仅是因为有太多的情况下结果是不同的(在一个环境中工作,而不是在另一个环境中工作,maven总是正确的)

    因此,对不起,您的问题没有直接答案,只有一些提示:

    1) 在eclipse之外执行此操作
    2) 遵守maven标准(目标/等级);这将使你的生活变得更加轻松
    6) 在父pom中使用依赖关系管理可能会有所帮助
    8) 如果从命令行运行时遇到相同的问题,则pom中存在问题(使用mvn dependency:tree解决),如果没有,请参见1

    9) 也许这里可以选择汇编,但我不推荐您的方法。免责声明:我喜欢Maven和M2Eclipse,而且我没有遇到过您提到的任何问题。一般来说,M2Eclipse并不会对我的工作方式造成太大的阻碍

    一件可能有用的事情是禁用项目的Maven Builder(右键单击项目,选择“属性”,然后选择“构建器”)。这将消除你抱怨的许多问题

    还有一件事可能对你有帮助(并且接近列表中的第9项:卸载M2Eclipse并使用
    mvn eclipse:eclipse
    ,这将生成eclipse
    .project
    .classpath
    文件,其中包括作为eclipse项目依赖项的所有依赖项。无论何时添加或更改依赖项,都必须再次运行
    mvn eclipse:eclipse
    。如果您有两种选择,请尝试一下……

    关于#9:

    • 执行

      mvn依赖项:复制依赖项

      有关自定义选项,请参阅。您必须手动设置Eclipse类路径以指向新复制的JAR

    • 使用JBossToolsJDT扩展来获得“物化库”特性(请参阅)