首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让m2e-WTP使用maven构建jar依赖关系?

如何让m2e-WTP使用maven构建jar依赖关系?
EN

Stack Overflow用户
提问于 2014-12-06 02:05:53
回答 1查看 570关注 0票数 2

我使用的是eclipse,露娜,我有两个maven项目:一个web应用程序和一个java库,这是web应用程序的依赖项。

库pom.xml:

代码语言:javascript
复制
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.test</groupId>
  <artifactId>library</artifactId>
  <verson>0.0.1-SNAPSHOT</version>
   <build>
    <plugins>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <archive>
            <manifestEntries>
              <Dependencies>just a test</Dependencies>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
    </plugins>
   </build>
</project>

webApp pom.xml:

代码语言:javascript
复制
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.test</groupId>
  <artifactId>webapp</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <dependencies>
    <dependency>
        <groupId>org.test</groupId>
        <artifactId>library</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
  </dependencies>
</project>

现在,当我在WEB服务器(jboss)上部署我的war作为“Run as ...”时,会生成war文件,并将库的jar嵌入到WEB-INF/lib下。因此,一切看起来都很好,但事实并非如此:生成的jar不是由maven生成的,它缺少在maven-jar-plugin (在本例中是Dependencies: just a test行)上设置的任何配置。

这可能是显而易见的,但是如果我在库项目上使用'Run as Maven build‘,那么jar:jarpackage goals都会使用预期的清单构建一个jar。

EN

回答 1

Stack Overflow用户

发布于 2015-03-25 19:44:56

我已经设法使用maven配置器对其进行了归档。

  1. 将您提供的插件配置添加到pom.xml文件中
  2. 将依赖项添加到webapp项目
  3. 右键单击maven webapp项目并转到Maven >更新项目
  4. 选择webapp和库,然后单击OK

<代码>H19我正在使用Tomcat,但当我清理服务器并检查webapp目录时,jar文件包含清单<代码>H210<代码>G211

如果这不起作用,请检查在Eclipse生命周期映射中没有忽略jar:jar目标。

工作区右键单击库项目并单击Properties

  • Go to: Maven > Lifecycle Mappings

  • Check
  1. plugin execution,对我来说,它实际上显示了映射:忽略,源:工作区,所以我必须更新我的eclipse configuration

要从工作区的忽略列表中删除jar:jar it:

Maven工作空间偏好设置>maven> Lifecycle Mappings

  • Open工作空间生命周期映射元数据

  • 编辑xml以删除maven-jar-plugin插件execution

  • Save

  • Click‘重新加载工作空间生命周期映射’或重新启动
  1. 。我不得不重新启动eclipse,因为它没有生效。
  2. 再次对受影响的项目执行Maven >更新项目,以确保

可以在pom.xml文件中忽略映射,在这种情况下,您将在pluginManagement下的库pom文件中找到忽略插件执行的部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27322053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档