从网上学习别人的框架,发现框架的部署教程中用的maven启动的项目,第一次知道这种方法,从网上找了很多博客,感觉写的都不太明白,所以写下我目前知道的。
1、通过git下载源码
2、创建数据库renren-security,数据库编码为UTF-8
3、执行doc/db.sql文件,初始化数据
4、修改db.properties文件,更新MySQL账号和密码
5、Eclipse、IDEA执行【clean package tomcat7:run】命令,即可运行项目
6、项目访问路径:http://localhost
7、非Maven方式启动,则默认访问路径为:http://localhost:8080/renren-security
8、账号密码:admin/admin
刚开始看了上面的部署过程,发现第五条根本不知道在哪执行啊。。。
经过查询知道通过maven部署项目有两种方式,都可以脱离eclipse,使用命令行执行mvn命令:
第一种方式是使用maven的tomcat插件,这种方式不需要本地安装的tomcat,使用插件内置的tomcat在本地启动项目,默认启用8080端口,这种方式只需要在工程的pom.xml文件中按照如下配置:
注意Java-version要与自己的jdk版本匹配
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<configuration>
<source>${java-version}source>
<target>${java-version}target>
<skip>trueskip>
<encoding>UTF-8encoding>
configuration>
plugin>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-resources-pluginartifactId>
<configuration>
<encoding>UTF-8encoding>
configuration>
plugin>
plugins>
build>
然后在pom.xml所在的目录下打开命令窗口(shift+目录下右键菜单),执行mvn tomcat:run就可以运行项目,也可以按照第二种方法介绍的在eclipse中运行mvn命令。
第二种方式是用本地安装的tomcat,从我目前知道的这种方式可以实现远程部署项目,意思就是在服务器的tomcat配置文件里为maven配置一个账号,就可以在本地使用maven命令把项目部署到正在运行的服务器的tomcat下面,我安装的tomcat8, 端口用的8090
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script" />
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="tomcat,manager,
manager-gui,manager-script,admin-gui" />
tomcat-users>
给maven添加tomcat的用户,在maven安装目录下的conf/settings.xml文件中servers标签下按照如下配置
<servers>
<server>
<id>tomcatid>
<username>tomcatusername>
<password>tomcatpassword>
server>
servers>
项目pom.xml
注意Java-version要与自己的jdk版本匹配
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<configuration>
<source>${java-version}source>
<target>${java-version}target>
<skip>trueskip>
<encoding>UTF-8encoding>
configuration>
plugin>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-resources-pluginartifactId>
<configuration>
<encoding>UTF-8encoding>
configuration>
plugin>
<plugin>
<groupId>org.codehaus.mojogroupId>
<artifactId>tomcat-maven-pluginartifactId>
<version>1.1version>
<configuration>
<path>/renren-securitypath>
<port>8090port>
<uriEncoding>UTF-8uriEncoding>
<url>http://localhost:8090/manager/texturl>
<server>tomcatserver>
<username>tomcatusername>
<password>tomcatpassword>
configuration>
plugin>
plugins>
上面的两个plugin和第一种方法一样,主要是第三个plugin:
path:是tomcat上的项目名称(我的就是http://localhost:8090/renren-security)
port:是端口,这个地方可以不用配置,第一种方法应该可以通过这个修改端口号(我没试)
url:写到text,网上也有到html的(我试了不行)
下面三个就是目标tomcat的用户名和密码了,没有这个就没权限在目标tomcat上部署项目
D:\Workspaces\renren-security>mvn tomcat:run
执行tomcat:run命令依然会按照默认的8080端口启动内置tomcat插件部署项目
>mvn install
install命令会编译出classs文件、jar文件和项目war包
>mvn clean
clean命令会把install生成的文件全部清除
>mvn tomcat:deploy
deploy在install生成war包之后执行,将项目部署到目标tomcat(启动状态),如果报错很可能是maven账号没有配置好,没有权限
>mvn tomcat:undeploy
将项目从运行的tomcat上卸载
项目就可以正常运行了
以后运行可以直接执行maven build
-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.
如果出现上面的错误就是下面的这条参数没加上
-Dmaven.multiModuleProjectDirectory=$M2_HOME
同事遇到了下面这个错误,说明上面图片JRE home选择的不是jdk目录而是jre目录
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?