我想将依赖jar中的所有.class
包含到WAR classes/
目录中,而不是在lib/
目录中包含Jar。
我有:
my-webapp/
...
WEB-INF/
lib/
mylib-1.0-SNAPSHOT.jar
我想:
my-webapp/
...
WEB-INF/
classes/
mylib-1.0-SNAPSHOT (all **.class**)
我也看到 maven-dependency-plugin ,但它要求我的jar安装到本地或远程存储库中。但mylib-1.0-SNAPSHOT.jar
在我的WAR之前被编译为juste,如果我打电话给mvn package
,那就失败了!
那么,如何将我的jar依赖包解压到war类中呢? (如Jar的maven-shade-plugin
)
答案 0 :(得分:0)
我想在通讯中写这个,但文字太长了。
对不起,我不明白你的观点。您有多个共享类的Web应用程序,因此您已将这些公共类打包到JAR中,现在您可以分发jar并避免代码重复。那没问题。此时,对于Web应用程序,将/ WEB-INF / classes中的类或/ WEB-INF / lib /中的类作为jar的一部分没有区别,webapp可以在这两种情况下使用这些类。
使用Maven,你应该有n个项目。一个用于您的常见jar,然后,每个webapp一个(您常见的jar是依赖)。在为您的某个webapp构建WAR之前,如果公共类已更改,则应首先安装(在公共存储库中)jar:mvn install
。安装jar后,您可以构建WAR:mvn war:war