项目打war包遇到的问题
前言:
将项目部署到远程服务器,一般都需要将其打成war包,再上传远程服务器。maven父子依赖项目一般是将web层子项目均打成war包,并上传到远程服务器的tomcat文件下的webapps目录中。随着tomcat的启动,war包会被自动解压为文件夹。项目依赖关系如下图所示,打war包前确定项目在本地可正常运行。
如图所示,需要将cnscecms-admin以及cnscecms-portalsystem分别打成war包并上传远程服务器。打包过程可以直接右键单击项目中的pom.xml,run as->maven install。
以下为打包过程中遇到的问题:
问题一
大意是在打admin包的过程中找不到依赖cnscecms-service的jar包以及cnscecms-dataaccess的jar包。原来在打父项目的war包时,首先应当将子项目打成jar包。即先将最底层的dataaccess打成jar包,之后再将service打成jar包。
问题二
cnscecms-dataaccess打jar包的过程比较顺利,但之后打cnscecms-service的jar包的过程中报出找不到test文件路径下的内容。而是报错内容很多,但仔细观察都是相同的问题,找不到test路径下的文件。
上述情况仅需要在pom.xml文件中设置,打包时跳过测试即可,以下为具体代码段,将<skipTest>标签的内容设置为true跳过测试即可
问题三:打包过程中报错,utf8不可编译。
这个是由于代码使用的UTF-8,而maven编译的时候使用的GBK的缘故。 通过修改pom文件,可以告诉maven这个项目使用UTF-8来编译。在pom文件的相关路径:/project/build/plugins/下的编译插件声明中加入下面的配置:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.1</version> <configuration> <source>1.6</source> <target>1.6</target> <encoding>utf8</encoding> </configuration> </plugin>
陈慧宇 于2017年3月16日