【问题标题】:Axis2 - Creating complete binary distribution from source distributionAxis2 - 从源代码分发创建完整的二进制分发
【发布时间】:2014-04-25 16:51:28
【问题描述】:
我尝试构建源代码分发版以生成完全相同的二进制分发版,但未能做到。我正在从命令行使用“mvn clean package”并在/target下获取jar,在modules/webapp/target下获取.war。我希望 /bin 下的所有可执行文件和 /lib 下的 jar(s)都存在于二进制分发中,这些文件都是从源代码生成的;换句话说,只是来自源的二进制分发的精确副本。真的可以这样做吗?如果是,有人可以建议如何进行吗?
【问题讨论】:
标签:
java
maven
maven-2
axis2
【解决方案1】:
您正在尝试正确地复制 zip 或 tar 包吗?
您需要联系项目作者以了解该逻辑。不应该太神秘,通常为不同平台打包代码非常普通,并且被归入单独的下游构建任务。
如果没有这种帮助,您有两种选择:
- 更改您的代码库以依赖开发用户使用的 WAR 文件。
- 将您的验证流程更改为依赖已批准的校验和,而不是从源代码内部构建的二进制文件。
从源代码构建批准的软件包有点过时,不是因为它是不好的做法,而是因为它通常无法扩展。我的方法是对生成仅信任二进制文件的开发团队进行认证,他们签署和分发。这与适用于第 3 方闭源供应商的流程相同,他们首先拒绝我访问他们的源代码 :-)
【解决方案2】:
默认情况下不构建二进制分发。为了构建它,您必须启用配置文件“一切”:
mvn clean install -P everything
之后你会在 .../modules/distribution/target 中找到它