Lio*_*aga 5 eclipse maven maven-war-plugin
我正在将Eclipse Kepler SR2与m2e结合使用。我有一个依赖于jar的Web项目。
当我对目标程序包使用“运行方式-> Maven Build ...”并检查“检查工作区工件”时,目标中的lib文件夹将包含一个名为依赖项jar的文件夹,而不是jar本身。打包的war还包含一个文件夹而不是jar。但是,当使用m2e部署到tomcat时,将正确部署jar。
我使用2.4版本的maven-war-plugin。
这是我的WAR 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>
Run Code Online (Sandbox Code Playgroud)
这是依赖项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>
Run Code Online (Sandbox Code Playgroud)
我已经看过了maven包目标的调试输出。当战争插件正在处理罐子时,它说
[DEBUG] Processing: loans-core-0.0.1-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)
而不表明该罐子已被复制。稍后在日志中,我看到:
adding directory WEB-INF/lib/loans-core-0.0.1-SNAPSHOT.jar/
Run Code Online (Sandbox Code Playgroud)
我已经尝试了嵌入式Maven(3.0.4)和外部Maven(3.0.5)。我的同事使用开普勒SR1,并遇到相同的问题。
我想我已经讲完了。希望得到一些建议,找不到有关它的任何已报告的错误。
谢谢,Lior
尝试将 jar 安装为其自己的 Maven 控制工件:
mvn install:install-file -Dfile=my.jar -DgroupId=com.mycorp -DartifactId=my-jar -Dversion=1.0 -Dpackaging=jar
Run Code Online (Sandbox Code Playgroud)
然后将其定义为您的战争的 Maven 依赖项
| 归档时间: |
|
| 查看次数: |
498 次 |
| 最近记录: |