0

我想在java中创建一个可以自动创建servlet项目(如ide)的web项目。我完成了servlet项目创建部分,但是当我的应用程序运行时,我需要在服务器上部署新创建的项目。

我怎样才能得到这个给出一些例子或建议。

4

3 回答 3

0

autoDeploy通过Tomcat Automatic_Application_Deployment查看您的 Tomcat 版本热部署server.xml

于 2013-04-18T10:50:01.093 回答
0

如果你正在使用 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 文件中

于 2013-04-18T10:50:56.563 回答
0

您可以通过多种方式进行。如果您熟悉 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>
于 2013-04-18T11:20:23.187 回答