一.使用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)加入插件: <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配置文件: <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标签下配置: <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标签下配置: `<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下配置: <ResourceLink name="jdbc/DataSource" global="jdbc/DataSource" type="javax.sql.DataSource"/>// 引入server.xml的配置信息 Web.xml下配置: <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框架: <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框架: Connection con = null;Context c = new InitialContext();DataSource ds = (DataSource) c.lookup("java:/comp/env/jdbc/DataSource");//项目名要与context.xml里面的对应 con = ds.getConnection(); 总结 下载地址: Linux 常用命令操作大全(推荐收藏) 服务器使用Nginx部署Springboot项目的详细教程(jar包) |