1.JDK版本的设置
设置全局的jdk,在setting.xml文件中的profiles元素下添加如下profile元素
<profile>
<id>jdk17</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.7</jdk>
</activation>
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
</properties>
</profile>
设置局部的jdk,在项目的pom,xml文件中添加如下build元素
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
2.MAVEN的依赖方式主要有两种WAR包和JAR包;
JAR包-查看源码方式:右键工程-->maven-download source ,就可以下载源码;点开jar包就可以查看源码;
WAR包-查看源码方式:右键工程-->maven-->install;工程target目录下会出现目录war\work ,该目录就是依赖的WAR解压后的内容;
3.使用MAVEN开发WEB工程的相关注意点
第一种情况:如果WEB工程只依赖JAR包,注意事项相对少些;
如果工程JAR依赖发生了变化,只需要右键工程->MAVEN->UPDATE PROJECT,(该步骤的含义更新JAR依赖,同时根据POM.xml的JDK版本更新工程的编译版本,clean project重新编译工程)
第二种情况:
如果WEB工程依赖了WAR包,如果依赖变更,除了UPDATE PROJECT之外,还要执行maven Install ;
如果WEB工程依赖于其他WAR包, 处理步骤如下:
STEP1. maven Install (该命令会下载WAR包,解压到目录target -->war -->work )
STEP2.然后和本工程的webapp内容进行合并,
注意:合并的原则是不覆盖本工程的文件(即如果本工程有a.jsp,依赖的war包相同目录也有同名文件,则合并后的目录中是本工程的a.jsp);
应用场景:该覆盖规则可以用来自定义本工程的个性化样式,比如觉得框架某个样式不满意,可以自己在本工程的相同目录添加同名的样式文件,这样就实现了自定义样式。
4.使用MAVEN进行Install操作时,提示编译错误;原因是maven自带的编译规则与eclipse的冲突,可以使用eclipse自带的编译功能(eclipse工具菜单栏 project-->clean强制编译),再执行Install。
5.使用eclipse tomcat插件有时出现JAR包或者类找不到的情况,右键工程检查deployment assembly(发布打包)配置
每一项都有具体的含义:一个最终的发布包一般会有WEB-INF,lib,classes等目录,以下的各项就是相关目录与源码的关系!
只需要将最终运行的发布目录打开,和“deployment assembly”进行比对就能知道问题所在。
6.Maven常用命令
maven clean 删除target目录
maven install 打包到本地
maven deploy 部署到私服
如果Web项目的WEB-INF(E:\Java\work\.metadata\.plugins\org.eclipse.wst.server.core\tmp2\wtpwebapps\hollybeacon-web\WEB-INF)目录下没有web.xml文件,那么就需要在tomcat中clean。
如果Web项目的WEB-INF/classes(E:\Java\work\.metadata\.plugins\org.eclipse.wst.server.core\tmp2\wtpwebapps\hollybeacon-web\WEB-INF\classes)目录下没有文件,那么就需要清理Project。最好是开启Eclipse的自动构建。
最后就是点击Alt+Enter进行查看,查看发布的目录。
1、项目清理: 选择菜单栏的Project——>Clean..——>勾选需要清理的项目(也可以选择all)
切记:clean了项目,需要重新编译2、项目如果是maven项目,则有时候clean project并不起效。这时候需要用maven来清理缓存:右键项目——>Run As ——> Maven clean切记:此方法清除后,需要重新进行maven编译,可以使用Maven——>Update Project 或者 自定义的 Maven build3、如果是以上两个都不起效,那就直接进入项目的classes 目录下,查看编译后的class,进行反编译,与现在的项目进行对比,看看是否更新了,如果没有,删除重新编译4、如果是web项目,并用Tomcat启动的,发现缓存问题,项目没更新,解决办法:删除项目,并进入Tomcat 的webapps 和 work 目录,删除你的项目,然后重新导入项目,重新编译 5、浏览器缓存:浏览器缓存包括浏览器自带的缓存 和 程序缓存(a)自带缓存:很多浏览器,比如google有时候会问你保不保存数据,如果你点的是,在很多时候容易出现数据没更新的问题 解决办法:对于浏览器记住密码或是保存数据什么的 要慎重.. 如果出现问题:如google,选择历史记录——>清除浏览数据——>全部6、Maven下载源码1:Maven命令下载源码和javadocs
当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven命令下载这些源码,然后再进行引入,通过mvn命令能够容易的达到这个目的:
mvn dependency:sourcesmvn dependency:resolve -Dclassifier=javadoc
命令使用方法:首先进入到相应的pom.xml目录中,然后执行以上命令:
第一个命令是尝试下载在pom.xml中依赖的文件的源代码。
第二个命令:是尝试下载对应的javadocs
但是有可能一些文件没有源代码或者javadocs
执行Maven-Download Source
2:通过配置文件添加
打开maven配置文件 setting.xml文件(.../.m2/settings.xml) 增加如下配置:
<profiles>
<profile>
<id>downloadSources</id>
<properties>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>downloadSources</activeProfile>
</activeProfiles>
3:配置eclipse
Window > Preferences > Maven and checking the "Download Artifact Sources" and "Download Artifact JavaDoc" options
注意:
MyEclipse下部署Maven工程到Tomcat
1)在工程名或者pom.xml上右键,Run As->Maven Clean,该maven指令用于删除target目录下的内容,如下图所示:
2)在工程名或者pom.xml上右键,Run As->Maven install,该maven指令会将工程打包到本地maven仓库。刷新工程,你会看到target目录下生成了一个hollybeacon-start文件夹,如下图所示:
注:如果是第一次执行上面两个Maven指令,可能会下载一些文件,下载过程中,请耐心等待。
3)更改工程的发布目录
在工程名上右键->Properties,在弹出的对话框中选择MyEclipse->Deployment Assembly,如图所示:
4)选中hollybeacon-start,点击Remove,移除hollybeacon-start;点击Add,选择target下面的hollybeacon-start,点击finish,添加/target/hollybeacon。如图所示:
5)WEB_INF下面没有lib包
配置