发表于: 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.htmlhttp://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插件部分用法。


返回列表 返回列表
评论

    分享到