当前位置: 首页 > news >正文

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

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

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

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

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

基本配置

<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中安全配置凭证

<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进行通用部署:

<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部署

<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,添加管理用户:
    <role rolename="manager-script"/>
    <user username="admin" password="tongweb" roles="manager-script"/>
    
  3. 开放管理端口

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

多环境部署配置

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

http://www.xdnf.cn/news/494443.html

相关文章:

  • 我的创作纪念日——《惊变256天》
  • 基于C#的MQTT通信实战:从EMQX搭建到发布订阅全解析
  • OpenResty 深度解析:构建高性能 Web 服务的终极方案
  • C语言_编译全攻略_从原理到实战的深度解析
  • 信息收集+初步漏洞打点
  • 完整卸载 Fabric Manager 的方法
  • JS 高级程序设计 设计模式
  • 【前端基础】10、CSS的伪元素(::first-line、::first-letter、::before、::after)【注:极简描述】
  • 前端面经13 JS设计模式
  • 分析 any 类型的利弊及替代方案
  • JAVA Spring MVC+Mybatis Spring MVC的工作流程*
  • 如何利用 Python 获取京东商品 SKU 信息接口详细说明
  • UE中的各种旋转
  • Linux服务器安全如何加固?禁用不必要的服务与端口如何操作?
  • uniapp -- uCharts 仪表盘刻度显示 0.9999999 这样的值问题处理。
  • 在Verilog中,逻辑右移(Logical Right Shift)和算术右移(Arithmetic Right Shift)的区别
  • Vue3 Element Plus 对话框加载实现
  • TensorRT10系列的api使用以及部署案例
  • jvm安全点(一)openjdk17 c++源码垃圾回收安全点信号函数处理线程阻塞
  • python四则运算计算器
  • Windows 上安装下载并配置 Apache Maven
  • JVM 机制
  • 学习笔记(C++篇)—— Day 6
  • 十二、Hive 函数
  • 数据湖与数据仓库融合:Hudi、Iceberg、Delta Lake 实践对比
  • JavaScript入门【3】面向对象
  • Bellman - Ford 算法与 SPFA 算法求解最短路径问题 ——从零开始的图论讲解(4)
  • Predict Podcast Listening Time-(回归+特征工程+xgb)
  • Git合并多个提交方法详解
  • C 语言学习笔记(数组)