使用Maven部署应用到TongWeb(东方通应用服务器)

使用Maven部署应用到TongWeb(东方通应用服务器)

TongWeb是东方通(TongTech)开发的一款国产Java应用服务器,与Tomcat类似但提供了更多企业级功能。以下是使用Maven将项目部署到TongWeb服务器的方法:

1. 使用TongWeb Maven插件 (推荐方式)

东方通提供了官方的Maven插件,这是最直接的部署方式。

基本配置

xml 复制代码
<build>
    <plugins>
        <plugin>
            <groupId>com.tongtech</groupId>
            <artifactId>tongweb-maven-plugin</artifactId>
            <version>7.0.0</version> <!-- 根据TongWeb版本调整 -->
            <configuration>
                <url>http://localhost:9060/manager/text</url>
                <username>admin</username>
                <password>tongweb</password>
                <path>/${project.build.finalName}</path>
                <update>true</update>
                <charset>UTF-8</charset>
            </configuration>
        </plugin>
    </plugins>
</build>

在settings.xml中安全配置凭证

xml 复制代码
<servers>
    <server>
        <id>tongweb-server</id>
        <username>admin</username>
        <password>{DES}加密后的密码</password>
    </server>
</servers>

常用命令

  • 部署应用:mvn tongweb:deploy
  • 重新部署:mvn tongweb:redeploy
  • 取消部署:mvn tongweb:undeploy
  • 启动应用:mvn tongweb:start
  • 停止应用:mvn tongweb:stop

2. 使用Cargo插件通用部署

如果官方插件不可用,可以使用Cargo进行通用部署:

xml 复制代码
<plugin>
    <groupId>org.codehaus.cargo</groupId>
    <artifactId>cargo-maven2-plugin</artifactId>
    <version>1.9.11</version>
    <configuration>
        <container>
            <containerId>tongweb7x</containerId>
            <type>remote</type>
        </container>
        <configuration>
            <type>runtime</type>
            <properties>
                <cargo.remote.uri>http://localhost:9060/manager/text</cargo.remote.uri>
                <cargo.remote.username>admin</cargo.remote.username>
                <cargo.remote.password>tongweb</cargo.remote.password>
                <cargo.tongweb.manager.context>manager</cargo.tongweb.manager.context>
            </properties>
        </configuration>
        <deployables>
            <deployable>
                <groupId>${project.groupId}</groupId>
                <artifactId>${project.artifactId}</artifactId>
                <type>war</type>
                <properties>
                    <context>/${project.build.finalName}</context>
                </properties>
            </deployable>
        </deployables>
    </configuration>
</plugin>

3. 使用Ant任务通过Maven部署

xml 复制代码
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>3.1.0</version>
    <dependencies>
        <dependency>
            <groupId>com.tongtech</groupId>
            <artifactId>tongweb-ant</artifactId>
            <version>7.0.0</version>
        </dependency>
    </dependencies>
    <executions>
        <execution>
            <phase>deploy</phase>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <target>
                    <taskdef name="tongdeploy" 
                             classname="com.tongtech.ant.taskdefs.management.TongDeployTask"
                             classpathref="maven.plugin.classpath"/>
                    
                    <tongdeploy 
                        url="http://localhost:9060/manager/text"
                        username="admin"
                        password="tongweb"
                        path="/${project.build.finalName}"
                        war="file:${project.build.directory}/${project.build.finalName}.war"
                        update="true"/>
                </target>
            </configuration>
        </execution>
    </executions>
</plugin>

准备工作

在部署前,请确保:

  1. 启用管理控制台

    • 修改TONGWEB_HOME/webapps/manager/META-INF/context.xml,配置适当的IP访问限制
  2. 配置用户权限

    • 修改TONGWEB_HOME/conf/tomcat-users.xml,添加管理用户:
    xml 复制代码
    <role rolename="manager-script"/>
    <user username="admin" password="tongweb" roles="manager-script"/>
  3. 开放管理端口

    • 默认管理端口为9060,确保防火墙已放行

多环境部署配置

xml 复制代码
<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <tongweb.url>http://dev-server:9060/manager/text</tongweb.url>
        </properties>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <tongweb.url>http://prod-server:9060/manager/text</tongweb.url>
            <tongweb.path>/prod-${project.build.finalName}</tongweb.path>
        </properties>
    </profile>
</profiles>

使用命令指定环境:mvn tongweb:deploy -Pprod

常见问题解决

  1. 部署失败:权限不足

    • 确保用户具有manager-script角色
    • 检查tomcat-users.xml配置
  2. 连接被拒绝

    • 确认TongWeb服务已启动
    • 检查管理端口(默认9060)是否开放
  3. 中文乱码问题

    • 在插件配置中添加:<charset>UTF-8</charset>
    • 检查TongWeb服务器的文件编码设置
  4. 类加载问题

    • TongWeb可能有特殊的类加载机制,检查是否需要调整context.xml配置
  5. 内存不足

    • 调整Maven运行内存:export MAVEN_OPTS="-Xms512m -Xmx1024m"

注意事项

  1. TongWeb的路径规范可能与标准Tomcat有所不同,特别是上下文路径
  2. 企业版TongWeb可能有额外的安全限制,需要联系管理员获取部署权限
  3. 生产环境建议使用HTTPS协议进行部署操作
  4. 部署前建议备份原有应用

如需更详细的配置,请参考东方通官方文档或联系TongWeb技术支持。

相关推荐
王了了哇32 分钟前
【关联git本地仓库,上传项目到github】
git·github
Sgq丶37 分钟前
Git 提交大文件 this exceeds GitHub‘s file size limit of 100.00 MB
git·github
老猿阿浪4 小时前
Git初始化本地已有项目,并推送到远端Git仓库完整操作指南
大数据·git·elasticsearch
兔子坨坨6 小时前
IDEA连接github(上传项目)
java·git·学习·github
biubiubiu07066 小时前
idea无法识别Maven项目
java·maven·intellij-idea
云边有个稻草人6 小时前
【Linux系统】第七节—git+cgdb(详解)
linux·git·调试器cgdb使⽤·版本控制器git·set var·linux 条件断点
Xiaoshuang_Cao6 小时前
maven之pom.xml
xml·java·maven
种棵二叉树7 小时前
Idea 查找引用jar包依赖来源的Maven pom坐标
maven·intellij-idea·jar
重生之后端学习7 小时前
03-Web后端基础(Maven基础)
java·前端·spring boot·后端·spring·tomcat·maven