我们将为我们的客户开发一个用Java技术编写的巨大的We应用程序。我的客户端不支持ANT和Eclipse,它们是服务器中的OSS。
因此,我们的要求是在本地系统中编码和开发应用程序并对其进行测试,然后需要在客户端服务器中提供源代码,在其中运行部署脚本,从源文件编译所需的java文件,并将.class文件和其他资源文件部署到运行在该服务器(HP-UX)上的Tomcat。
是否可以仅使用javac、jar或JAVA_HOME/bin中可用的其他命令来部署应用程序而无需使用ANT脚本?如果有这样的实施,你能指导我们吗?我想知道在ANT开发之前,JAVA开发人员是如何部署大型应用程序的。我逐渐认识到,使命令(在我们的服务器中可用)对java应用程序是不好的。
注意:我们将有复杂的包层次结构(最多4层)。
更新:,看起来我没有一个直接的答案。我想说服我们的客户使用ANT。如果没有,我将为我的客户开发一个基于以下评论的跨平台定制构建工具.谢谢各位..。如果我们知道正确的打包和部署步骤,我认为构建这种工具并不是那么困难.
发布于 2012-07-22 17:41:17
我觉得整件事都很奇怪但是无论如何..。
.war文件非常简单。它是一个具有给定目录结构的ZIP文件。您可以轻松地使用一个shell脚本来创建它,该脚本首先运行javac
来编译源代码,然后将文件复制到正确的目录中,最后将其打包到一个具有.war扩展名的ZIP文件中。
您将在网络上找到.war文件的规范。或者你可以在你的环境中构建一个,用一个ZIP工具打开它,看看哪些文件需要去哪里。
更新:如果您的应用程序很大,则可以将其拆分为模块。每个模块将被编译并打包成一个单独的.jar文件(基本上也是一个ZIP文件)。如果一个模块依赖于另一个模块,那么只需将所需的.jar文件作为类路径参数传递给编译器即可。
发布于 2012-07-23 07:51:43
如果您真的必须接受客户需求,那么我可能就是这样做的。
为了避免修改您添加的每个文件的依赖项,我将引入一个将源代码、jar文件和输出文件放在何处的约定。然后,我将创建一个带有几个设置的脚本:
然后,在运行脚本时,它将创建一个类路径,包括库位置列表中显示的所有jar文件。然后,它将为每个源位置编译java文件,构建一个jar并将jar文件添加到类路径(以防以后模块需要它)。
最后,它将使用外部库、新创建的war、复制asp文件(可能是预编译的)构建web应用程序结构,然后使用zip将web应用程序结构打包到war文件中。
找出客户可以接受的shell,这样您就不会使用任何特定于shell的特性。我不认为你需要任何花哨的东西,所以这不应该太难。
https://stackoverflow.com/questions/11602407
复制相似问题