在哪里放置外部存档来配置在Eclipse中运行?

时间:2010-04-16 20:39:21

标签: java eclipse jar runtime

作为来自Visual Studio .NET背景的Java / Eclipse noob,我试图了解如何在Eclipse IDE中设置我的运行/调试环境,以便我可以开始逐步执​​行代码。

我为每个库项目构建了具有单独的src和bin层次结构的应用程序,并且每个项目都有自己的jar。例如,在Windows环境中,我有类似的内容:

c:\ myapp \ myapp_main \ src \ com \ mycorp \ myapp \ main

...和这样的并行“bin”树:

c:\ myapp \ myapp_main \ bin \ com \ mycorp \ myapp \ main

其他支持项目同样如下:

c:\ myapp \ myapp_util \ src \ com \ mycorp \ myapp \ util

(以及并行的“bin”树等)

所以,我最终在... \ myapp_util \ bin ...路径中使用myapp_util.jar,然后将其作为外部存档添加到myapp_main项目中。

我还使用像gluegen-rt.jar这样的实用程序,我将广告外部依赖项添加到需要它们的项目中。

我已经能够在Eclipse环境之外运行,通过将我的所有项目jar,gluegen-rt DLL等复制到某个目录的“lib”子文件夹中并执行如下操作:

  

java -Djava.library.path = lib   -DfullScreen = false -cp lib / gluegen-rt.jar; lib / myapp_main.jar; lib / myapp_util.jar;   com.mycorp.myapp.Main

然而,在IDE中,当我第一次按F11进行调试时,我得到了一条消息,例如/ com / sun /../ glugen ...类加载器找不到它。

因此,为了在Ecplipse中进行调试,甚至只是运行,我尝试在Galileo Debug中设置我的VM参数 - > (运行/调试)配置为上面的命令行,从“-Djava.libary.path ...”开始。我把一个lib子目录 - 就像上面的所有jar和本地gluegen DLL一样 - 在各个地方,例如我的主jar内置的文件夹下面,以及我的Ecplipse起始工作区文件夹的子文件夹,但是现在调试器找不到主类:

  

java.lang.NoClassDefFoundError:   com.mycorp.myapp.Main

虽然Classpath说它正在使用“默认类路径”,不管是什么。最重要的是,我如何组装多项目应用程序的组成文件,以便我可以在Eclipse中运行或调试?

2 个答案:

答案 0 :(得分:1)

如果您希望项目A在其类路径上包含项目B(及其库),则转到项目A的属性,选择Java Build Path,然后选择Projects选项卡。在这里添加项目B。

虽然你可能会为每个项目生成罐子,但eclipse并不太关注罐子。如果你有很多带有很多第三方依赖项的java项目,你可能想看看像m2eclipse这样的东西。

答案 1 :(得分:1)

推荐的处理方式是配置构建路径。这是一个很好的article来描述这个过程。