假设我在maven中定义了war和jar项目.
Jar项目依赖于War项目
我已经设法通过添加在包模式下工作
在战争项目<attachClasses>中真实的战争插件.
并依赖于
<groupId>com</groupId>
<artifactId>oneway-delegator</artifactId>
<version>1.0</version>
<classifier>classses</classifier>
Run Code Online (Sandbox Code Playgroud)
在罐子里.
但是当只运行编译时,没有创建类jar并且一切都失败了.
任何想法的人?
Pas*_*ent 12
但是当只运行编译时,没有创建类jar并且一切都失败了.
您确实可以配置maven-war-plugin以将包含在webapp中的类和资源打包/部署为具有以下配置的分类器的"附加"JAR工件:
<project>
...
<artifactId>mywebapp</artifactId>
<version>1.0-SNAPSHOT</version>
...
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>X.Y</version>
<configuration>
<attachClasses>true</attachClasses>
</configuration>
</plugin>
</plugins>
</build>
...
</project>
Run Code Online (Sandbox Code Playgroud)
但是这个工件是在package阶段创建的,所以如果你compile只运行,不要指望它在那里.
请注意,此配置选项是针对一个非常特殊的用例,即瘦的战争用例引入的.如果您需要在另一个项目中重用此JAR,建议的方法通常是将类移动到构建JAR的单独模块,然后从Web应用程序以及任何其他项目中声明对该JAR的依赖关系.需要它.
不要这样做.
这不是一个可接受的依赖,使jar(普通的Java代码)依赖于war(Java EE特定的应用程序包).如果您在战争中拥有依赖的代码,那么该代码应该在它自己的jar中,然后Web应用程序和jar项目都会对它有共同的依赖关系.
| 归档时间: |
|
| 查看次数: |
3511 次 |
| 最近记录: |