使用eclipse,java maven项目编译但在运行时出错

时间:2013-05-09 12:32:16

标签: java maven noclassdeffounderror

我收到的错误有很多答案,但我尝试过的每个解决方案(至少我理解)并没有解决我的问题。
我在Eclipse中的项目布局如下所示:

MavenProject1

  

的src

     

资源

     

MavenProject2

  

的src

     

资源

     

MavenProjectX

  

的src

     

资源

     

每个项目编译并运行正常。但我想要做的是使用MavenProject1中的一个项目,比如MavenProject2中的一些代码。我已经更新了构建路径和信息,以便我可以将MavenProject2导入MavenProject1并引用我想要的方法。
MavenProject1中对MavenProject2方法的引用枚举并且没有在编辑器中给出错误(即com.MavenProject2.Method()),并且MavenProject1编译。但是当我尝试运行它时,我得到下面的错误。我已经尝试修复类路径(据我所知,这可能是错误的),我已经尝试在项目的运行配置中添加项目,外部jar,几乎每个选项,但我一直遇到同样的错误在MavenProject1中调用MavenProject2中的方法。

  

[WARNING]  java.lang.reflect.InvocationTargetException  at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   at
> sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)   at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)   at
> java.lang.reflect.Method.invoke(Unknown Source)   at
> org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297)  at
> java.lang.Thread.run(Unknown Source) Caused by:
> java.lang.NoClassDefFoundError: com/MavenProject2/Method_From2    at
> com.MP1.MP1.main(CAPI.java:154)   ... 6 more Caused by:
> java.lang.ClassNotFoundException: com.MavenProject2.Method_From2

1 个答案:

答案 0 :(得分:0)

首次构建当前项目所依赖的项目时,请确保它们存储在本地maven存储库中。然后当你将它们作为依赖项添加到你的项目的pom.xml时,这应该有希望解决它的构建。