[英]Why does m2eclipse exclude resources from Eclipse build path?
我正在嘗試m2eclipse ,Maven的Eclipse插件,並注意到資源現在被排除在我所有項目的構建路徑之外。
我在M2Eclipse常見問題解答頁面上看到了一個似乎處理這個確切問題的問題,但答案(解釋)似乎是說這是故意允許資源過濾,一切都應該正常工作。
但是,當我從Eclipse中運行我的應用程序時,依賴項目中的大量資源無法被我的應用程序找到。
我嘗試過我常用的Eclipse揮動 - 橡皮雞動作(清潔所有項目,從-clean開始)無濟於事。 我敢肯定我錯過了一些相當簡單的東西。 有沒有人有什么建議?
編輯 :m2控制台中的一些挖掘顯示其中一個項目沒有正確構建。 當我嘗試在用於構建其中一個項目的自定義插件中查找org.apache.maven.plugin.MojoFailureException
時,我得到一個ClassNotFoundException
。
org.apache.maven.lifecycle.LifecycleExecutionException: Internal error in the plugin manager executing goal 'ourdemain:ourcustomplugin:2.0:process': Mojo execution failed. at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:505) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForProject(DefaultLifecycleExecutor.java:265) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:191) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:149) at org.apache.maven.DefaultMaven.execute_aroundBody0(DefaultMaven.java:223) at org.apache.maven.DefaultMaven.execute_aroundBody1$advice(DefaultMaven.java:304) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:1) at org.apache.maven.embedder.MavenEmbedder.execute_aroundBody2(MavenEmbedder.java:904) at org.apache.maven.embedder.MavenEmbedder.execute_aroundBody3$advice(MavenEmbedder.java:304) at org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:1) at org.maven.ide.eclipse.internal.project.DefaultBuildParticipant$1.execute(DefaultBuildParticipant.java:130) at org.maven.ide.eclipse.internal.project.MavenProjectManagerImpl.execute(MavenProjectManagerImpl.java:986) at org.maven.ide.eclipse.internal.project.MavenProjectFacade.execute(MavenProjectFacade.java:320) at org.maven.ide.eclipse.internal.project.DefaultBuildParticipant.executePostBuild(DefaultBuildParticipant.java:116) at org.maven.ide.eclipse.internal.project.DefaultBuildParticipant.build(DefaultBuildParticipant.java:80) at org.maven.ide.eclipse.internal.builder.MavenBuilder.build(MavenBuilder.java:84) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:633) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Caused by: org.apache.maven.plugin.PluginExecutionException: Mojo execution failed. at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:601) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:498) ... 27 more Caused by: org.apache.maven.plugin.MojoExecutionException: org/apache/maven/plugin/MojoFailureException at org.codehaus.mojo.ruby.DefaultRubyMojo.execute(DefaultRubyMojo.java:98) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:579) ... 28 more Caused by: java.lang.NoClassDefFoundError: org/apache/maven/plugin/MojoFailureException at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389) at java.lang.Class.getConstructor0(Class.java:2699) at java.lang.Class.getConstructor(Class.java:1657) at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:587) at org.jruby.javasupport.Java.new_proxy_instance(Java.java:570) at org.jruby.javasupport.JavaInvokerSnew_proxy_instancexx1.call(Unknown Source) at org.jruby.runtime.callback.InvocationCallback.execute(InvocationCallback.java:49) at org.jruby.internal.runtime.methods.FullFunctionCallbackMethod.internalCall(FullFunctionCallbackMethod.java:79) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:79) at org.jruby.evaluator.EvaluationState.callNode(EvaluationState.java:577) at org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:206) at org.jruby.evaluator.EvaluationState.setupArgs(EvaluationState.java:2182) at org.jruby.evaluator.EvaluationState.attrAssignNode(EvaluationState.java:481) at org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:191) at org.jruby.evaluator.EvaluationState.blockNode(EvaluationState.java:522) at org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:200) at org.jruby.evaluator.EvaluationState.eval(EvaluationState.java:163) at org.jruby.internal.runtime.methods.DefaultMethod.internalCall(DefaultMethod.java:167) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:79) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:125) at org.jruby.evaluator.EvaluationState.callNode(EvaluationState.java:564) at org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:206) at org.jruby.evaluator.EvaluationState.callNode(EvaluationState.java:544) at org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:206) at org.jruby.evaluator.EvaluationState.localAsgnNode(EvaluationState.java:1230) at org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:285) at org.jruby.evaluator.EvaluationState.rescueNode(EvaluationState.java:1522) at org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:349) at org.jruby.evaluator.EvaluationState.ensureNode(EvaluationState.java:980) at org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:246) at org.jruby.evaluator.EvaluationState.eval(EvaluationState.java:163) at org.jruby.internal.runtime.methods.DefaultMethod.internalCall(DefaultMethod.java:167) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:79) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:125) at org.jruby.evaluator.EvaluationState.fCallNode(EvaluationState.java:1019) at org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:252) at org.jruby.evaluator.EvaluationState.blockNode(EvaluationState.java:522) at org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:200) at org.jruby.evaluator.EvaluationState.rootNode(EvaluationState.java:1622) at org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:355) at org.jruby.evaluator.EvaluationState.eval(EvaluationState.java:163) at org.jruby.Ruby.eval(Ruby.java:274) at org.codehaus.plexus.component.jruby.JRubyRuntimeInvoker.runInterpreter(JRubyRuntimeInvoker.java:392) at org.codehaus.plexus.component.jruby.JRubyRuntimeInvoker.invoke(JRubyRuntimeInvoker.java:313) at org.codehaus.mojo.ruby.DefaultRubyMojo.execute(DefaultRubyMojo.java:81) ... 29 more Caused by: java.lang.ClassNotFoundException: org.apache.maven.plugin.MojoFailureException at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) ... 75 more
只要在項目上運行Maven構建器,就會運行FAQ中提到的資源過濾。 在實踐中,我發現這比它的價值更麻煩,因為Maven構建器運行速度非常慢,並且僅在配置時運行(默認情況下僅在完整版本上運行),讓你抓住頭腦並想知道為什么你的沒有接受更改。
我傾向於修改Eclipse類路徑以包含src / main / resources。 這對於大多數用例來說已經足夠了。
對於簡單方法不起作用的情況(例如,如果依賴項目有一些復雜的資源處理),我按照羅伯特建議並關閉工作區解析,然后將依賴項安裝到本地存儲庫,以便它包含在Maven類路徑容器。
嘗試在嵌入式(3.0 AFAIK)Maven運行時和用於執行構建(本地安裝)的運行時之間切換。
Maven安裝http://img150.imageshack.us/img150/6193/m2eclipseinstallations.png
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.