我将 Eclipse Kepler SR2 与 m2e 一起使用。我有一个依赖于 jar 的 web 项目。
当我对目标包使用“Run as -> Maven Build...”并选中“Check Workspace artifacts”时,目标中的 lib 文件夹包含一个名为依赖 jar 的文件夹,而不是 jar 本身。打包的战争还包含一个文件夹而不是一个 jar。但是,使用 m2e 部署到 tomcat 时,jar 已正确部署。
我使用 maven-war-plugin 2.4 版。
这是我的战争 pom:
<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>
<parent>
<groupId>com.modelity.loans</groupId>
<artifactId>loans-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>loans-web</artifactId>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>com.modelity.loans</groupId>
<artifactId>loans-core</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>jar</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
</plugin>
</plugins>
</build>
</project>
这是依赖 jar 的工件坐标:
<parent>
<groupId>com.modelity.loans</groupId>
<artifactId>loans-lib</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>loans-core</artifactId>
<packaging>jar</packaging>
我查看了 Maven 包目标的调试输出。当战争插件正在处理罐子时,它说
[DEBUG] Processing: loans-core-0.0.1-SNAPSHOT.jar
没有说明 jar 已被复制。稍后在日志中我看到:
adding directory WEB-INF/lib/loans-core-0.0.1-SNAPSHOT.jar/
我已经尝试过嵌入式 maven (3.0.4) 和外部 maven (3.0.5)。我的同事使用开普勒 SR1,并遇到同样的问题。
我想我已经涵盖了所有内容。很高兴得到一些建议,找不到任何关于它的报告错误。
谢谢,里奥