创建war文件(使用eclipse)以在tomcat上运行的最佳实践是什么?教程,链接,示例非常感谢。
最佳答案
您可以使用 Ant设置、编译、WAR ,并部署您的解决方案。
<target name="default" depends="setup,compile,buildwar,deploy"></target>
然后您可以在 Eclipse 中执行一次单击来运行该 Ant 目标。以下是每个步骤的示例:
前提条件
我们假设您的代码组织如下:
${basedir}/src
:Java 文件、属性、XML 配置文件${basedir}/web
:你的 JSP 文件${basedir}/web/lib
:运行时所需的任何 JAR${basedir}/web/META-INF
:你的 list${basedir}/web/WEB-INF
:你的 web.xml 文件
设置
定义一个 setup
任务,该任务创建分发目录并复制任何需要直接进行 WARred 的工件:
<target name="setup">
<mkdir dir="dist" />
<echo>Copying web into dist</echo>
<copydir dest="dist/web" src="web" />
<copydir dest="dist/web/WEB-INF/lib" src="${basedir}/../web/WEB-INF/lib" />
</target>
编译
将您的 Java 文件构建到类中,并复制驻留在 src
下但需要在运行时可用的任何非 Java 工件(例如属性、XML 文件等):
<target name="compile">
<delete dir="${dist.dir}/web/WEB-INF/classes" />
<mkdir dir="${dist.dir}/web/WEB-INF/classes" />
<javac destdir="${dist.dir}/web/WEB-INF/classes" srcdir="src">
<classpath>
<fileset dir="${basedir}/../web/WEB-INF/lib">
<include name="*" />
</fileset>
</classpath>
</javac>
<copy todir="${dist.dir}/web/WEB-INF/classes">
<fileset dir="src">
<include name="**/*.properties" />
<include name="**/*.xml" />
</fileset>
</copy>
</target>
构建 war
创建 WAR 本身:
<target name="buildwar">
<war basedir="${basedir}/dist/web" destfile="My.war"
webxml="${basedir}/dist/web/WEB-INF/web.xml">
<exclude name="WEB-INF/**" />
<webinf dir="${basedir}/dist/web/WEB-INF/">
<include name="**/*.jar" />
</webinf>
</war>
</target>
部署
最后,您可以设置一个任务,将 WAR 直接部署到您的 Tomcat 部署位置:
<target name="deploy">
<copy file="My.war" todir="${tomcat.deploydir}" />
</target>
点击即可!
设置完所有这些后,只需从 Eclipse 启动 default
目标即可编译、WAR 并部署您的解决方案。
这种方法的优势在于它可以在 Eclipse 之外以及在 Eclipse 内部工作,并且可以用来与其他正在处理您的项目的开发人员轻松地共享您的部署策略(例如通过源代码控制)。
关于java - 如何创建 war 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1001714/