包括maven build中的eclipse库

时间:2014-08-06 11:31:36

标签: java eclipse maven m2eclipse

简单场景:

我有一个maven项目,包含一些maven依赖项(activiti框架),并在eclipse中添加了Widlfly 8.1.0运行时作为库。

自然现在,如果我用MAVEN清理和构建,maven在编译时不会考虑运行时并且抱怨它找不到例如。 @Webservlet Annotation,HttpRequest类等。

所以为了构建我的项目,我必须运行任何maven目标并看到它失败,只是为了让maven下载所有依赖项,然后使用eclipses构建项目'构建过程然后使用所有下载的maven依赖项和wildfly 8.1.0运行时,成功构建项目。

然后我才能运行maven install / deploy来创建.war,这是有效的,因为maven找到了一个由eclipse创建的编译目标文件夹。

如果不将所有运行时jar安装到我的本地存储库或添加wildfly安装作为antoher本地存储,我怎么能告诉maven或m2e插件包含手动添加的库到mavens编译步骤?

1 个答案:

答案 0 :(得分:0)

你可能想要的是org.wildfly:wildfly-spec-api:8.1.0提供的" * - 范围依赖关系(这是一个包含wildfly提供给你的所有api /规范的pom工件)。

假设您打算在wildfly中部署您的应用程序(而不是以某种方式将wildfly嵌入您自己的main()......)您不需要依赖Wildfly容器。

* - 请注意,由于wildfly-apec-api是一个pom工件(而不是jar),因此您需要使用导入范围而不提供。有关完整指南,请参阅this article。要点是你在依赖关系管理中对pom放置了一个导入范围依赖关系,然后你可以在你使用的任何特定成员api / spec(比如ejb3,jsf,bean validation或jpa)和版本上放置一个提供范围的依赖关系将从spec-api pom中获取。