我有一个ANT构建脚本,它将WAR文件夹部署到我的JBOSS部署目录中。我可以将其转换为可执行的WAR / JAR文件并运行它吗?
例如,如果我的文件夹被调用:MYAPP.WAR,我可以生成:NEWAPP.WAR,其中NEWAPP.WAR是可执行文件。如果我只是将它放在Jboss目录中并启动JBOSS它会把它拿起来吗?我应该首先将原始文件夹重命名为其他内容吗?
使用Crystal Reports插件时,会发生以下情况: 1)如果我配置要部署的项目,我当然会得到错误,因为我的Eclipse项目不包括原始项目的所有配置文件(如XML等)。我不想将它们包含在扩展项目中,因为它会影响我的整个源代码控制脚本。 2)如果我更新我的Ant脚本,可以简单地包含由crystal report添加的所有类和文件,我得到一个ZipException。在浏览代码时,似乎Crystal Reports代码假定代码部署在单个WAR文件中并尝试提取所需的配置和报告文件,但由于项目部署在War文件夹中,因此当然失败
因此,我提出这个问题的理由是:如果我将使用ANT脚本创建的WAR文件夹转换为单个WAR文件,则Crystal Reports代码可以正常工作。
想法?你们都更困惑吗?
答案 0 :(得分:0)
你似乎在这里混淆了两个概念:
WAR file用于打包Web应用程序。没有(并且不会在应用程序服务器或servlet容器之外运行)是没有意义的。没有“可执行”WAR文件这样的东西;但是,只要容器配置得当,它确实可以进行热部署(例如,只要在没有容器重启的情况下将其部署到指定的文件夹中就部署)。
JAR file用于打包一组类和/或资源,可能构成一个应用程序。在JAR文件的清单中可以declare an entry point,以便运行java -jar jar_file_name
将导致启动指定的入口类。在OS中,默认情况下将java -jar ...
关联到.jar
文件扩展名,直接启动jar(从命令行/通过双击/ etc ...)。这就是它的名字“可执行jar”。
答案 1 :(得分:0)
当你说“可执行”时,似乎你的意思不是大多数人。如果您有一个名为MYAPP.WAR的目录,当您将其放置在部署目录中时会自动进行部署,您只需将其压缩(zip _MYAPP.WAR MYAPP.WAR
)并通过将其放置在部署目录中来部署_MYAPP.WAR。是的,你应该在这之前取消部署MYAPP.WAR。
您还可以同时创建既可以作为可执行JAR文件又可部署WAR文件的存档。 Hudson这样做,你可以通过研究他们的WAR文件来了解他们是如何做到的。
答案 2 :(得分:0)
我不太了解你的问题,但也许你正在寻找JBoss Embedded。