发表于: 2017-08-09 22:56:23
5 1314
一、今日完成
1)使用IDEA把maven项目打包,上传到ECS上linux下的tomcat的webapps目录;
2)学习maven命令对生命周期(maven拥有三套相互独立的生命周期clean、default和site)的调用,其中:
mvn clean——调用clean生命周期的clean阶段,实际执行的是pre_clean和clean;
mvn test——调用default生命周期的test阶段,实际执行validate、initialize等;
mvn clean install——调用clean生命周期的clean阶段和default生命周期的install阶段,实际执行pre-clean、clean以及default生命周期从validate至install的所有阶段;
mvn clean deploy site-deploy——调用clean生命周期的clean阶段、default生命周期的deploy阶段,以及site生命周期的site-deploy阶段。
3)学习在POM.xml中配置maven-compiler-plugin插件;
在执行mvn clean install命令,由于插件配置不当原因多次报错,其中最为头疼的错误代码如下:
Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project fox: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test failed: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ? -> [Help 1]
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project fox: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test failed: The forked VM terminated without saying properly goodbye. VM crash or System.exit called ? -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
一次次检查配置语句,控制台始终报error,最后不得不重建项目,完整复制全部代码,才成功实现打包。
i.在Compiler3.0之前,默认Java编译器是JDK自带的javac;从Compile3.0开始(需要JDK 1.6以及以上),默认的Java编译器是javax.tools.JavaCompiler。
-Dmaven.compiler.forceJavacCompilerUse=true
为mvn命令配置forceJavacCompilerUse启动参数,强制使用JDK自带编译器。
ii.设置要编译的Java源代码兼容的JVM版本和编译后的类库拟运行的JVM版本
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
插件版本和匹配的JDK、JRE参见apache官网指南(http://maven.apache.org/plugins/maven-compiler-plugin/usage.html)
iii.设置Compiler插件可用的运行内存空间
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<fork>true</fork>
<meminitial>128m</meminitial>
<maxmem>512m</maxmem>
</configuration>
</plugin>
存储空间不足控制台会报错。
vi.关于compiler插件里compile与testCompile的更多用法和配置,参见http://maven.apache.org/plugins/maven-compiler-plugin/testCompile-mojo.html和http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html,可惜是英文文档,阅读和使用起来相当吃力。
二、明日计划
1)执行Main方法,去在服务器上跑通流程;
2)写调用函数;
3)向mysql插入海量数据,对比索引的作用。
三、遇到的问题
在配置maven-compiler-plugin时候,为什么重建项目复制源码后,执行mvn clean install可以一次运行成功,但是之前t同样的配置与 代码总是报错;如果以后遇到其他项目,在重建代码不可行的情况下,有无其他办法来处理这类bug?
四、收获
了解了maven生命周期的含义,但是对于其具体的用途并不熟悉;
学着看控制台提示,自己学着去找错,解决bug;
掌握compiler插件部分用法。
评论