使用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技术支持。

相关推荐
心之语歌9 分钟前
Spring AI MCP 客户端
人工智能·spring·github
yeshan3333 小时前
使用 Claude Code 的自定义 Sub Agent 完善博文写作体验
ai·github·agent·claudecode
程序视点3 小时前
望言OCR 2025终极评测:免费版VS专业版全方位对比(含免费下载)
前端·后端·github
玩个冰球4 小时前
Stata 18下载安装教程(非常详细),看完这一篇就够了(附安装包)
github
Xi_Xu4 小时前
Xget:下一代开源资源获取加速引擎,让你的文件下载、储存库克隆和镜像拉取快如闪电
开源·github
用户4099322502126 小时前
FastAPI的查询白名单和安全沙箱机制如何确保你的API坚不可摧?
前端·后端·github
<但凡.8 小时前
Git 完全手册:从入门到团队协作实战(4)
git·bash
SugarPPig9 小时前
Git 创建一个完全没有提交历史的 master 分支
git
计算机毕设定制辅导-无忧学长9 小时前
InfluxDB Flux 查询协议实战应用(二)
github
菠萝催学12312 小时前
日志配置Slf4j
java·数据库·spring·tomcat·maven·intellij-idea