远离 Maven 工程有些时日了,也不知道当前还是否在流行 Maven 管理工程与依赖,当前类似工具有 Ant+Ivy, Grunt, sbt 和 Gradle。Web 工程的输出发布包没什么好说的,因为 <packaging>war
</packaging>,所以 mvn package
出来的 WAR 包里就有站点运行的所有内容了,用到的依赖会在 WEB-INF/lib 目录下列着。
而对于那些 <packaging>jar
</packaging> 的工程,用 mvn package
只会生成一个 JAR 包,它所依赖的各个类库仍然分散在本地仓库中,而我们的发布包应该包含这些第三方依赖的。
假定,有一个 GoSSH Maven 工程,设定的版本是 0.0.1,它依赖了 jsch-0.1.50, commons-cli-1.3-SNAPSHOT,想要发布的包有如下布局
GoSSH-0.0.1.jar
lib
jsch-0.1.50.jar
commons-cli-1.3-20140216.032825-101.jar #这里的 revision 号是随 SNAPSHOT 动态而定的
并且在 GoSSH-0.0.1.jar 中的 META-INF/MANIFEST.MF 文件中指定了 阅读全文 >>