首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不带ANT的Java EE ANT应用程序的打包与部署

不带ANT的Java EE ANT应用程序的打包与部署
EN

Stack Overflow用户
提问于 2012-07-22 17:24:45
回答 2查看 205关注 0票数 0

我们将为我们的客户开发一个用Java技术编写的巨大的We应用程序。我的客户端不支持ANT和Eclipse,它们是服务器中的OSS。

因此,我们的要求是在本地系统中编码和开发应用程序并对其进行测试,然后需要在客户端服务器中提供源代码,在其中运行部署脚本,从源文件编译所需的java文件,并将.class文件和其他资源文件部署到运行在该服务器(HP-UX)上的Tomcat。

是否可以仅使用javac、jar或JAVA_HOME/bin中可用的其他命令来部署应用程序而无需使用ANT脚本?如果有这样的实施,你能指导我们吗?我想知道在ANT开发之前,JAVA开发人员是如何部署大型应用程序的。我逐渐认识到,使命令(在我们的服务器中可用)对java应用程序是不好的。

注意:我们将有复杂的包层次结构(最多4层)。

更新:,看起来我没有一个直接的答案。我想说服我们的客户使用ANT。如果没有,我将为我的客户开发一个基于以下评论的跨平台定制构建工具.谢谢各位..。如果我们知道正确的打包和部署步骤,我认为构建这种工具并不是那么困难.

EN

回答 2

Stack Overflow用户

发布于 2012-07-22 17:41:17

我觉得整件事都很奇怪但是无论如何..。

.war文件非常简单。它是一个具有给定目录结构的ZIP文件。您可以轻松地使用一个shell脚本来创建它,该脚本首先运行javac来编译源代码,然后将文件复制到正确的目录中,最后将其打包到一个具有.war扩展名的ZIP文件中。

您将在网络上找到.war文件的规范。或者你可以在你的环境中构建一个,用一个ZIP工具打开它,看看哪些文件需要去哪里。

更新:如果您的应用程序很大,则可以将其拆分为模块。每个模块将被编译并打包成一个单独的.jar文件(基本上也是一个ZIP文件)。如果一个模块依赖于另一个模块,那么只需将所需的.jar文件作为类路径参数传递给编译器即可。

票数 1
EN

Stack Overflow用户

发布于 2012-07-23 07:51:43

如果您真的必须接受客户需求,那么我可能就是这样做的。

为了避免修改您添加的每个文件的依赖项,我将引入一个将源代码、jar文件和输出文件放在何处的约定。然后,我将创建一个带有几个设置的脚本:

  1. 战争的名字。
  2. 图书馆位置列表。
  3. 源根列表,可能允许根的文件夹名作为jar文件名。

然后,在运行脚本时,它将创建一个类路径,包括库位置列表中显示的所有jar文件。然后,它将为每个源位置编译java文件,构建一个jar并将jar文件添加到类路径(以防以后模块需要它)。

最后,它将使用外部库、新创建的war、复制asp文件(可能是预编译的)构建web应用程序结构,然后使用zip将web应用程序结构打包到war文件中。

找出客户可以接受的shell,这样您就不会使用任何特定于shell的特性。我不认为你需要任何花哨的东西,所以这不应该太难。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11602407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档