我正在从蚂蚁切换到Maven。
为了简单起见,我的应用程序是一个连接到数据库的摇摆应用程序。我希望它被打包在一个 jar 文件中。
该应用程序需要一个外部库,即 Microsoft sql server 库,包含在一个 jar 文件中:sqljdbc4-3.0.jar。
所以我尝试包含这个库:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>3.0</version>
</dependency>
但是在启动 jar 时,我得到了异常:
java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
这个问题已经记录在其他 stackoverflow 问题中;我说这个只是为了切入正题。我的想法(也许很天真)如下,我想
- 只用我的代码创建一个 jar。
- 创建一个包含我所有库的目录(lib)中的发行版。
- 清单文件以正确引用所有库。
环顾四周,我发现每个问题都是由不同的 maven 插件执行的:jar 插件、依赖插件和程序集插件。
这是要走的路吗?
我觉得不对,因为我不知道 maven 可以轻松处理“常规”配置,而这三个插件的解决方案似乎有点过于复杂。