设为首页 收藏本站
查看: 481|回复: 0

[经验分享] maven 发布到tomcat 记录

[复制链接]

尚未签到

发表于 2017-1-21 09:51:01 | 显示全部楼层 |阅读模式
 忙活了一个周末,终于把appfuse2.2.1通过maven的方式 发布到tomcat 中。特记录一下步骤,虽然最近更新比较慢,但是还是具有参考价值的。

  • 按照官网的通过mvn 命令下载源码。按照官方下载。
  • 将下载的源码 from "embedded mode" to full-source mode by running mvn appfuse:full-source from your project's root directory
  • 这里可以通过 mvn eclipse:eclipse 转换成eclipse 项目。但是这里主要采用maven的发布方式。先不转换成eclipse项目。
  • 通过eclipse的导入,这里采用从存在的maven 工程导入。
  • eclipse maven 工程要点:



      • project facet还是要设置成dynamic ;futher configuration 设置修改成src/main/webapp,默认的是dyanmic工程的webContent。
      • 当前项目->properties->deployment assembly 中设置 maven 的依赖库 部署的位置,这里要改为:WEB-INFO/lib
      • build path 中默认的输出为:xxx/target/classes.这里的xxx 为工程名称。



  • 下面正式开始将工程编译后的源码直接发布到tomcat 中。主要有几下步骤,另外,tomcat7与先前的tomcat 发布方式也是不一样的。要注意。

    • 首先在tomcat的conf 文件夹tomcat-user.xml中,增加用户配置。
    • 如图,关键在于manager-script角色
    • 在工程pom 文件中增加maven tomcat的插件配置
    • 如下,其中url为tomcat管理地址,不同的容器,域名和端口可能不同,注意url的最后必须加上 /text 否则会出错; <path>标签代表工程的名称。     
      <plugin > 
                         <groupId> org.apache.tomcat.maven</groupId > 
                               <artifactId> tomcat7-maven-plugin</artifactId > 
                               <version> 2.0-SNAPSHOT</version > 
                               <configuration>  
                                     <url> http://localhost:8080/manager/text</url > 
                                     <!-- 
                                     <server>tomcat7</server>
                                     -->
                                     <path> /sectioncc</path >
                                           <username> admin</username > 
                                           <password> admin</password >
                               </configuration>  
         </plugin>   
    • 启动tomcat 。在运行maven的deploy命令之前,一定要先启动tomcat(直接进入tomcat的bin目录点击startup.bat)或者通过eclipse 的server 视图启动,否则会报:“Cannot invoke Tomcat manager: Connection refused” 错误 。(已验证
    • 在工程或pom.xml上右键,maven build的goals中输入命令tomcat7:deploy即可发布,或在Run Configurations->Maven build新建一个命令,base directory里选择你的web project 或者通过run as ->maven build ,输入 tomcat7:deploy

    • 在 pom.xml 的configuration节点里面的url最后必须加上 /text ,否则,即使你在运行maven的deploy命令之前已经启动了tomcat,还是会报错:“Cannot invoke Tomcat manager: Server returned HTTP response code: 403 for URL: http://localhost:8080/manager/deploy?path=%2Fframework&war= ”(已验证
      常见错误:
    • maven build 时出现有appfuse 单元测试的错误,可以先屏蔽掉pom.xml中单元测试的配置。如下图
    •          <!--

                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>webtest-maven-plugin</artifactId>
                        <version>1.0.0</version>
                        <executions>
                            <execution>
                                <id>webtest-test</id>
                                <phase>integration-test</phase>
                                <goals>
                                    <goal>test</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>webtest-verify</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>verify-result</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>webtest-report-html</id>
                                <phase>post-integration-test</phase>
                                <goals>
                                    <goal>report</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <host>${cargo.host}</host>
                            <port>${cargo.port}</port>
                            <sourcedirectory>src/test/resources</sourcedirectory>
                            <sourcefile>web-tests.xml</sourcefile>
                            <target>${webtest.target}</target>
                            <basepath>${project.build.finalName}</basepath>
                            <resultpath>target/webtest/webtest-results</resultpath>
                            <haltonfailure>false</haltonfailure>
                            <haltonerror>false</haltonerror>
                            <loglevel>fatal</loglevel>
                        </configuration>
                    </plugin>
                 -->
 

  • 建议可以删除多余的数据库配置,比如oracle,h2等。
  • 如果出现mysql 方言的bug,将pom.xml中的org.hibernate.dialect.MySQL5InnoDBDialect 修改为:MySQL5Dialect.
  • 发布成功的标志是:

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-331440-1-1.html 上篇帖子: Tomcat配置自己的Classloader 下篇帖子: Tomcat one engine two host
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表