一.使用tomcat远程部署
1.1遇到的问题:
项目中需要引用第三方jar包,在使用mvn打包项目的时候,会报错'dependencies.dependency.systemPath'for com.dingtalk.api:taobao-sdk-java:jar must be omitted.
问题的原因在于mvn在打包项目的时候,先加载pom.xml,如果本地仓库没有的依赖就会报错。
解决办法:将第三方jar包安装到本地仓库使用命令:Mvn install:install-file -Dfile=E:\taobao-sdk-java-auto_1479188381469-20200422.jar -DgroupId=taobao-sdk-java -DartifactId=taobao-sdk-java -Dversion=2.0 -Dpackaging=jar在pom依赖中加入war,把项目打成war包,否则会默认是jar包,部署不上去。在tomcat config目录下配置tomcat-users.xml后,重启tomcat不行的话,要重启tomcat服务。如果能够成功访问到http://localhost:8080/manager/html,则证明配置成功找错误要可以通过tomcat日志信息快速定位错误的原因,提高解决问题的效率5. 之前一致尝试不成功的原因是因为这个项目是复制之后的项目,idea中的terminal命令行所在的路径还是之前项目的路径,之前项目中的pom没有配置插件,所以导致连接不上。
1.2远程部署的配置
(1)加入插件:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <username>admin</username> <password>123456</password> <url>http://47.102.123.186:8095/manager/text</url> <server>tomcatServer</server> //要与server中的id保持一致 <update>true</update> <path>/zw</path>//项目名 </configuration> </plugin> |
(2)配置tomcat目录下tomcat-users.xml配置文件:
1
2
3
4
|
<role rolename="admin-gui"/> <role rolename="manager-gui"/> // 允许访问html接口(即URL路径为/manager/html/*)<role rolename="manager-script"/>// 允许访问纯文本接口(即URL路径为/manager/text/*) <user username="admin" password="123456" roles="admin-gui,manager-gui,manager-script"/> //注意!可以给该用户添加多个角色,为了远程部署,至少需要这个角色:manager-script,也可以开启manager-gui用于可视化管理 |
(3)配置maven 的setting.xml文件在servers标签下配置:
1
2
3
4
5
|
<server> <id>tomcatServer</id> <username>admin</username> <password>123456</password> </server> |
(4)使用命令:mvn tomcat7:deploy
二.使用tomcat的配置文件配置数据库连接配置的具体步骤
需要配置tomcat 的conf目录下的server.xml,context.xml,web.xml。
具体的配置如下:Server.xml的GlobalNamingResources标签下配置:
1
2
3
4
5
6
7
8
|
`<Resource name="jdbc/DataSource" auth="Container" type="javax.sql.DataSource" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://192.168.0.1;databaseName=xydi" username="sa" password="sa" maxActive="20" //最大连接数 maxIdle="10" maxWait="-1"/>`//最长的等待时间 |
Context.xml下配置:
1
2
|
<ResourceLink name="jdbc/DataSource" global="jdbc/DataSource" type="javax.sql.DataSource"/>// 引入server.xml的配置信息 |
Web.xml下配置:
1
2
3
4
5
|
<resource-ref> <res-ref-name>jdbc/DataSource</res-ref-name>//与resource的name保持一致 <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>` |
如果使用的spring框架:
1
2
3
4
|
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/DataSource"/> <property name="expectedType" value="javax.sql.DataSource"/> </bean> |
没有使用spring框架:
1
2
3
4
|
Connection con = null; Context c = new InitialContext(); DataSource ds = (DataSource) c.lookup("java:/comp/env/jdbc/DataSource");//项目名要与context.xml里面的对应 con = ds.getConnection(); |
总结
到此这篇关于maven项目远程部署&&使用tomcat配置数据库连接的文章就介绍到这了,更多相关Maven项目远程部署Tomcat数据库连接内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/xiaoliuxiix/article/details/107076494