【发布时间】:2012-05-10 07:49:20
【问题描述】:
我想将我所有的 .class 从依赖 jar 包含到 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 之前编译的,如果我打电话给mvn package,那就失败了!
那么,如何将我的 jar 依赖解压到 war 类中呢? (例如 maven-shade-plugin 用于 Jar)
【问题讨论】:
-
在您的 Web 应用程序中使用类而不是 jar 有什么意义?
-
因为 Jar 包含我的服务的公共类,而这个 webapp 包含特定的类。我有多个使用相同类的 webapps,所以我将它们打包成一个 Jar 依赖项。因为没有代码重复!你认为这是正确的方式吗?
-
如果公共 jar 在
WEB-INF/lib目录中,您仍然可以使用公共 jar 中的类;WEB-INF/lib中的所有内容最终都会出现在 Web 应用的类路径中。
标签: maven jar dependencies war unpack