maven周期/设置jdk/插件/发布web项目/jetty插件
Maven 有三个生命周期 互相独立
Clean
Complie
Site
http://maven.apache.org/plugins/index.html 各种插件命令 直接去官网查询最新
打包源文件jar
执行命令 clean source:jar
会生成 user-service-0.0.1-SNAPSHOT-sources.jar
而当我们执行 clean package时,又会生成 jar包 且把之前的 源文件jar包给clean掉了
如果需要同时保存两个jar 就得需要进行插件捆绑,让在执行 package时,也执行 source:jar生成源文件包,须在pom中配置 配置完后 执行 clean package 刷新左边 target文件 我们可以查看日志文件输出,在执行玩 compile后,就接着执行 source插件里面的目标命令
正常实际中,我们不会使用jar 一般来说使用 jar-no-fork 使用jar 如果绑定的生命周期比较靠前,则会执行两次 jar命令,打包两次源文件jar
设置开发环境的jdk版本 增加 plugin标签
一般我们直接写在父类 parent的pom.xml中
然后子类再去调用
<<pom.xml>>
这个pom文件 包含 sql的插件使用方法 maven测试类的设置
包含测试报告(生成测试覆盖率)的插件
org.codehaus.mojo
cobertura-maven-plugin
可以手动执行命令,指定测试哪个类 clean package -Dtest=Hello.java
可以手动执行命令,指定是否跳过测试 clean package -DskipTests=true
maven发布web项目/jetty插件
2016年1月7日
21:12
建立一个maven web 项目,
在parent中 添加servlet依赖
在user-web的 pom中增加 引用依赖
添加user-service的依赖
编写doget方法
编写jsp
编写web.xml 写servlet
执行 clean package 成功后会生成 user-web.war文件
将文件直接拷贝到tomcat下面的 webapps中
启动tomcat
比较麻烦,我们可以直接配置插件,让项目在执行打包的时候 就自动把war文件拷贝到 tomcat下面
1.在parent pom.xml中配置一个tomcat地址常量
2.在parent pom.xml中编写插件
3.在子类引用插件
虽然比较快捷了,直接打包就把war文件拷贝过去,但是每次我们修改jsp文件,不会立即生效,需要我们重新打包
重新启动服务,相对来说还是比较复杂。 对于这种情况,我们可以使用内置的一些插件来处理,tomcat已经不支持了。新版的可以支持。可以使用 jetty插件 http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin
在parent pom.xml中配置插件,子类xml引用
手动启用jetty服务 clean compile jetty:run
启动完后,浏览器输入地址 :http://localhost:9090/hello/hello.do
由于容器中本身自带servlet包,所以我们打包时要把servlet包排除掉,
避免包跟容器中的冲突 修改parent pom.xml中 依赖范围为provided
当jsp不支持el表达式的时候,可以在web.xml添加 统一支持el表达式
也可以在页面中设置单一jsp支持el表达式
<%@ page isELIgnored="false"%>
也可以修改web.xml 文件的头文件 2.5是不支持 el表达式
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_4.xsd">