我需要能够允许我的 Maven 包在两种情况下执行。
用户需要从命令行执行 jar 以从用户执行 java -jar myjar.jar 时出现的 AWT 对话框生成许可证密钥
当客户端项目将 myjar 作为依赖项引用时,myjar 还需要下载其所有传递依赖项(以“正常”的 maven 方式)。
场景 1 需要将 AWT 表单 jar 打包,以便弹出 AWT 对话框。
方案 2 要求在构建客户端项目时下载所有其他依赖项。
我如何包装它以使其尽可能小?
我已经独立尝试了 jar-plugin、shade-plugin 和 assembly-plugin,但运气不佳。
JAR-PLUGIN:
将 forms-1.2.1.jar 放在 lib/ 目录中并将其添加到类路径中不起作用,因为 java -jar myjar.jar 不会在命令行中加载它
SHADE-PLUGIN:
下载互联网。如何排除一些依赖项?
ASSEMBLY-PLUGIN:
下载互联网。如何排除一些依赖项?
有没有办法打包 forms-1.2.1.jar 的传递依赖项(对于场景 1)但在打包时排除所有其他依赖项,以便在客户端项目构建时下载它们(对于场景 2)。
jar-plugin 或 assembly-plugin 可以做到这一点吗?