我想在java中创建一个可以自动创建servlet项目(如ide)的web项目。我完成了servlet项目创建部分,但是当我的应用程序运行时,我需要在服务器上部署新创建的项目。
我怎样才能得到这个给出一些例子或建议。
autoDeploy
通过Tomcat Automatic_Application_Deployment查看您的 Tomcat 版本热部署server.xml
如果你正在使用 maven 构建(你真的应该这样做),这非常简单。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<url>http://myHost:8080/manager/html</url>
<server>localtomcat</server>
<update>true</update>
<path>/myApp</path>
</configuration>
</plugin>
然后在命令行
mvn clean package tomcat:deploy
这将卸载当前版本,并部署新版本,所有这些都很好地打包在一个 war 文件中
您可以通过多种方式进行。如果您熟悉 ANT,其中一种方法是使用 ANT(假设您不是热部署而是进行编程部署)
<project name="ApplicationName" basedir="." default="redeploy">
<!-- Defining the properties for this build.xml -->
<property environment="sysenv" />
<property name="application.war" value="<ApplicationName>.war"/>
<property name="server.home" value="${sysenv.CATALINA_HOME}"/>
<property name="server.startup" value="startup.bat"/>
<property name="server.shutdown" value="shutdown.bat"/>
<property name="server.deploy" value="${server.home}/webapps"/>
<!-- Moves the application war file to server deployment folder -->
<target name="moveOutputWar">
<echo>Deleting already deployed war file in the server</echo>
<delete file="${server.deploy}/${application.war}"/>
<copy file="${application.war}" toDir="${server.deploy}"/>
</target>
<!-- Restarts the server -->
<target name="redeploy" depends="moveOutputJar">
<echo>Stopping the server</echo>
<exec executable="${server.home}/bin/${server.shutdown}" dir="${server.home}/bin"/>
<echo>Starting the server</echo>
<exec executable="${server.home}/bin/${server.startup}" dir="${server.home}/bin"/>
</target>
</project>