2010-08-18 214 views
2

将Eclipse上的Maven Java项目导出到没有maven或eclipse maven插件的用户可能吗?我想到的第一个问题是如何强制所有依赖包含在导出中。将eclipse maven项目导出为非maven eclipse项目与依赖关系

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

这里有什么魔法?

回答

1

任何魔法吗?

没有,没有魔法。你必须:

  1. 得到所有依赖(所有范围+及物动词),并将它们复制到,说./lib
  2. 重写.classpath以指向./lib中的库。
  3. 打包源码,将eclipse配置文件打包到某个归档文件中。

1.和3.都可以用Maven Assembly Plugin做到。 2. GMaven插件可能会有所帮助。或者也许手动。人们可以想象延长Maven Eclipse Plugin提供某种eclipse:export目标,这会好得多。

但让我警告你,这根本不容易,诚实地说,对于每个人来说,使用Maven和eclipse:eclipse或m2eclipse都会更容易。

0

如果你喜欢做这个zip,maven-dependency插件是正确的答案和程序集插件。使用依赖项插件复制所有依赖项并通过程序集插件创建一个zip ...可能没有依赖项插件就可能...您应该检查有关它的文档

0

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

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

你可以用你的项目一起分发shared eclipse user library文件中指定这些依赖关系,这当然是隔靴搔痒的Maven的灵活性,但它可能的帮助。

+0

问题是'.classpath'文件,它需要重写。 – 2010-08-19 07:17:24

0

嗯,事实上,还有一种可用现在;-)

如果你喜欢生活在边缘,你可以尝试JBoss的工具的开发构建一个神奇的3.3.0(需要靛蓝),更具体地说,你需要JBoss工具JDT扩展功能(来自http://download.jboss.org/jbosstools/builds/nightly/trunk/latest/all/repo/更新站点)。 这是执行https://issues.jboss.org/browse/JBIDE-8972

基本上,你右键单击项目资源管理器上显示的Maven库,选择“Materialize Library ...”,选择目标文件夹,你想要复制的罐子重命名它们)并单击确定。Jars将被复制,并且相应地更新项目的类路径。 Maven图书馆和大自然将被删除。

你只需要压缩你的项目,并与任何你想要的人分享。

如果您想回到使用maven,请回复您的本地更改(使用svn或git或您正在使用的任何SCM),或者右键单击项目> Configure> Convert to Maven Project,然后删除你的lib文件夹的内容。