2009-08-06 14 views
6

私はMaven向けのEclipseプラグインm2eclipseを試していますが、現在、すべてのプロジェクトのビルドパスからリソースが除外されています。m2eclipseがEclipse build pathからリソースを除外するのはなぜですか?

私はこの正確な質問に対処していると思われるa question on the M2Eclipse FAQ pageを見ましたが、これはリソースフィルタリングを許可する意図的なものであり、すべてがうまくいくはずです。

しかし、Eclipse内からアプリケーションを実行すると、依存するプロジェクトの多くのリソースが自分のアプリケーションで見つからなくなっています。

私はいつものEclipse waving-a-rubber-chickenアクション(すべてのプロジェクトをクリーンで始める)を無駄にしようとしました。私はかなり単純なものが欠けていると確信しています。誰にも何か提案はありますか?

EDIT:m2コンソールの掘削によって、プロジェクトの1つが正しく構築されていないことが判明しました。プロジェクトの1つを作成するために使用されるカスタムプラグインで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 

答えて

5

リソースフィルタリングが実行されます。実際には、Mavenビルダーが非常にゆっくりと実行されるので、これは価値があるよりも面倒ですが、設定時にのみ実行されます(デフォルトでは完全ビルドでのみ実行されます)。変更は取得されません。

私は、src/main/resourcesを含むようにEclipseクラスパスを変更する傾向があります。ほとんどのユースケースではこれで十分です。

単純なアプローチがうまくいかない場合(たとえば、依存するプロジェクトに複雑なリソース処理がある場合など)、私はRobertが提案して作業領域の解決をオフにしてから、依存関係をローカルリポジトリにインストールしますMavenクラスパスコンテナに含まれています。

3

埋め込まれた(3.0私の知る限り)Mavenのランタイムとあなたが(ローカルにインストールされている)あなたのビルドを実行するために使用するものの間で切り替えてみてください。 Mavenのビルダーは、プロジェクト上で実行されるたびにFAQに記載さ

Maven installations http://img150.imageshack.us/img150/6193/m2eclipseinstallations.png

+0

提案していただきありがとうございます。私はこれを試しましたが、違いはありませんでした。 –

+1

作業領域の解像度をオフにしましたか?次に、リポジトリにすでにインストールされている成果物に基づいて各プロジェクトを構築します。 –

関連する問題