忙活了一个周末,终于把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.
- 发布成功的标志是:
相关推荐
其实以前在使用eclipse的时候就想在maven下使用插件进行远程部署,无耐,多次试验,都没有成功,IDE换到了idea自己也尝试了下,感觉配置要容易了许多,经过简单的也成功了,现在记录如下。 二、环境配置 在服务器上...
记录一次Linux操作Tomcat部署项目遇到的问题部署项目到项目现场测试环境问题1问题2问题3问题4问题5问题6额外使用的命令 部署项目到项目现场测试环境 JDK1.8 Tomcat8.5 Maven打包好的war Linux—–Centos 不知道谁给...
实际的实现发布在这是一个使用Angular 5和spring Boot的示例项目。Springboot已用于公开REST端点,并且客户端以angular编写。 这是一个完整的Web应用程序,具有与mysql数据库的连接。 我们已经使用spring数据连接到...
然后将maven项目导入Eclipse,发布到Tomcat服务器。 上下文路径默认为 TaxService。 注意:通过运行 mvn eclipse:eclipse 创建的构建路径和部署程序集使用 jar 文件的绝对路径。 如果运行此示例有任何问题,请检查...
Pascal之⽗Nicklaus Wirth: "Algorithms+Data Structures=Programs" 4 .2常⽤的DOS命令 dir : 列出当前⽬录下的⽂件以及⽂件夹 md : 创建⽬录 rd : 删除⽬录 cd : 进⼊指定⽬录 cd… : 退回到上⼀级⽬录 cd: 退回...
公告发布的时间范围进行搜索,在更多模块下用户可以动态切换系统主题,然后让用户无感知的记录用户行为,当用户退出登录后重新登录,系统的主题还是用户退出登录时所选择的主题。 管理员和超级管理员成功登入系统...