使用maven的tomcat插件部署项目 秒速五厘米 2022-06-18 06:57 522阅读 0赞 从网上学习别人的框架,发现框架的部署教程中用的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.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>${java-version}</source> <target>${java-version}</target> <!-- true:跳过测试 --> <skip>true</skip> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> 然后在pom.xml所在的目录下打开命令窗口(shift+目录下右键菜单),执行mvn tomcat:run就可以运行项目,也可以按照第二种方法介绍的在eclipse中运行mvn命令。 **第二种方式**是用本地安装的tomcat,从我目前知道的这种方式可以实现远程部署项目,意思就是**在服务器的tomcat配置文件里为maven配置一个账号,就可以在本地使用maven命令把项目部署到正在运行的服务器的tomcat下面**,我安装的tomcat8, 端口用的8090 * **tomcat配置** 在目标tomcat的配置文件(conf/tomcat-users.xml)中为maven添加账号 <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配置(我后来测试这里不配置也可以,后面的pom.xml有地方配置)** 具体的配置maven安装、配置环境变量过程就不写了,网上也有很多 给maven添加tomcat的用户,在maven安装目录下的conf/settings.xml文件中servers标签下按照如下配置 <servers> <server> <id>tomcat</id> <username>tomcat</username> <password>tomcat</password> </server> </servers> * **项目pom.xml** 注意Java-version要与自己的jdk版本匹配 <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>${java-version}</source> <target>${java-version}</target> <!-- true:跳过测试 --> <skip>true</skip> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> <version>1.1</version> <configuration> <path>/renren-security</path> <port>8090</port> <uriEncoding>UTF-8</uriEncoding> <url>http://localhost:8090/manager/text</url> <server>tomcat</server> <username>tomcat</username> <password>tomcat</password> </configuration> </plugin> </plugins> 上面的两个plugin和第一种方法一样,主要是第三个plugin: path:是tomcat上的项目名称(我的就是[http://localhost:8090/renren-security][http_localhost_8090_renren-security]) port:是端口,这个地方可以不用配置,第一种方法应该可以通过这个修改端口号(我没试) url:写到text,网上也有到html的(我试了不行) 下面三个就是目标tomcat的用户名和密码了,没有这个就没权限在目标tomcat上部署项目 * **mvn命令运行** 上面配置完成之后可以在工程pom.xml目录下打开命令行窗口 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上卸载 * **eclipse运行** ![这里写图片描述][SouthEast] ![这里写图片描述][SouthEast 1] 项目就可以正常运行了 以后运行可以直接执行maven build ![这里写图片描述][SouthEast 2] * **遇到的错误** ![这里写图片描述][SouthEast 3] -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? * 参考 [http://www.renren.io/open/][http_www.renren.io_open] [http://www.cnblogs.com/tibit/p/5400748.html][http_www.cnblogs.com_tibit_p_5400748.html] [http_localhost_8090_renren-security]: http://localhost:8090/renren-security [SouthEast]: /images/20220618/a70bb396f1f04a7ea11e9ab1ad8f57c1.png [SouthEast 1]: /images/20220618/f6af869eb45a4fffa6b07d985cd79217.png [SouthEast 2]: /images/20220618/0a221c5b9e4c418c8c9b59057d54f57f.png [SouthEast 3]: /images/20220618/3f52ab855aee41ce9e5be16e12c88ab8.png [http_www.renren.io_open]: http://www.renren.io/open/ [http_www.cnblogs.com_tibit_p_5400748.html]: http://www.cnblogs.com/tibit/p/5400748.html
还没有评论,来说两句吧...