将eclipse maven项目导出为具有依赖关系的非maven eclipse项目

时间:2010-08-18 21:27:51

标签: eclipse maven-2 m2eclipse

是否可以将我在Eclipse上的maven Java项目导出给没有maven或eclipse maven插件的用户?我想到的第一个问题是如何强制将所有依赖项包含在导出中。

我想让那些不使用Maven的人更容易在Eclipse上导入我的项目并使用它,换句话说,我想生成一个带有项目的zip,可以通过eclipse为不使用maven的用户导入或m2eclipse。

这里有什么魔力?

4 个答案:

答案 0 :(得分:1)

  

这里有什么魔力?

不,没有魔法。你必须:

  1. 获取所有依赖关系(所有范围+传递)并将其复制到./lib中。
  2. 重写.classpath以指向./lib内的库。
  3. 将源代码,./lib,eclipse配置文件打包成一些存档。
  4. 1。 3. Maven Assembly Plugin可以使用Maven Eclipse Plugin。对于2. GMaven插件可能有所帮助。或者也许手动完成。实际上可以想象扩展{{3}}以提供某种eclipse:export目标,这会更好。

    但是让我警告你,这一点都不容易,老实说,每个人使用Maven和eclipse:eclipse或m2eclipse都会更容易。

答案 1 :(得分:0)

如果您想以zip形式执行此操作,则maven-dependency插件是正确的答案和汇编插件。使用依赖插件复制所有依赖项并通过程序集插件创建一个zip ...可能没有依赖插件可能...你应该查看有关它的文档

答案 2 :(得分:0)

实际上没有魔法,eclipse项目由其.project文件定义,无论它是否是Maven项目。

您可以自由地分发您的项目,其他人可以在他们的eclipse实例中成功导入它们而不会有任何麻烦。

您可以分发一个shared eclipse user library文件来指定这些依赖项以及您的项目,这当然远不及Maven的灵活性,但它可能有所帮助。

答案 3 :(得分:0)

实际上,现在有一种魔法可用; - )

如果您喜欢生活在边缘,您可以尝试开发JBoss Tools 3.3.0(需要Indigo),更具体地说,您需要 JBoss Tools JDT Extensions 功能(来自{ {3}}更新网站)。 这是http://download.jboss.org/jbosstools/builds/nightly/trunk/latest/all/repo/

的实现

基本上,右键单击Project Explorer上显示的Maven库,选择“Materialize Library ...”,选择目标文件夹,要复制的jar(可以重命名),然后单击OK。将复制Jars,并相应地更新项目的类路径。 Maven图书馆和大自然将被删除。

然后你必须压缩你的项目并与你想要的任何人分享。

如果您想回到使用maven,请还原您的本地更改(使用svn或git或您正在使用的任何SCM)或只需右键单击您的项目>配置>转换为Maven项目,然后删除lib文件夹的内容。