管理jar包开源项目(普通web项目使用druid及打包可运行jar包过程)

本文说明基于tomcat8-maven-plugin打包普通的web项目为可运行jar包的过程;,今天小编就来聊一聊关于管理jar包开源项目?接下来我们就一起去研究一下吧!

管理jar包开源项目(普通web项目使用druid及打包可运行jar包过程)

管理jar包开源项目

本文说明基于tomcat8-maven-plugin打包普通的web项目为可运行jar包的过程;

以及在实际项目执行过程中遇到的中间件连接池依赖改为druid连接池:普通web项目如何使用Druid连接池

背景介绍
  • 实际项目没用使用springboot相关的内容,因此无法配置包含main方法的入口类;
  • 原来项目本来不是maven管理的,是将很多的jar包放在WEB-INF/lib文件夹下,jar包也有点儿老旧,费了很大的劲将jar包进行了maven管理;这个过程就不表述了;
  • 项目中有独立的web.xml文件,独立的jsp文件;
  • 是一个传统的web2.0项目
  • 一般该项目打包为war项目,部署在独立的tomcat或weblogic下,现在因为特殊要求,需要独立运行该项目,因此有了将普通web项目打包为可运行jar包的需要;
  • 项目内部对数据库的使用依赖了tomcat或weblogic的连接池配置,需要调整为项目内部连接池处理;该过程也不涉及实际打包过程。
Druid连接池添加pom依赖

<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.9</version> </dependency>

连接获取方式

修改了程序内部数据库连接的获取方式

public void createPoolConnection() throws Exception { if (dataSource == null) { dataSource = new DruidDataSource(); JMXUtils.register("com.alibaba:type=DruidDataSource", dataSource); String jdbcUrl = fdbConfig.getDBConn(); String user = fdbConfig.getDBuser(); String password = fdbConfig.getDBpasswd(); String driverClass = fdbConfig.getDBDriver(); int initialSize = fdbConfig.getInitNum(); int minPoolSize = fdbConfig.getInitNum(); int maxPoolSize = fdbConfig.getMaxNumber(); int maxActive = fdbConfig.getMaxNumber(); dataSource.setInitialSize(initialSize); dataSource.setMaxActive(maxActive); dataSource.setMinIdle(minPoolSize); dataSource.setMaxIdle(maxPoolSize); dataSource.setPoolPreparedStatements(true); dataSource.setDriverClassName(driverClass); dataSource.setUrl(jdbcUrl); dataSource.setPoolPreparedStatements(true); dataSource.setUsername(user); dataSource.setPassword(password); //dataSource.setValidationQuery("SELECT 1"); dataSource.setTestOnBorrow(true); dataSource.setUseGlobalDataSourceStat(true); dataSource.setFilters("mergeStat,wall"); } fConnect = dataSource.getConnection(); fConnect.setAutoCommit(true); }

添加Druid的监控查看功能(可选)

在web.xml文件中添加如下配置:页面访问路径(http://ip:port/项目根路径/druid/index.html)

<servlet> <servlet-name>DruidStatView</servlet-name> <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> <init-param> <!-- 允许清空统计数据 --> <param-name>resetEnable</param-name> <param-value>true</param-value> </init-param> <init-param> <!-- 用户名 --> <param-name>loginUsername</param-name> <param-value>druid</param-value> </init-param> <init-param> <!-- 密码 --> <param-name>loginPassword</param-name> <param-value>druid</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>DruidStatView</servlet-name> <url-pattern>/druid/*</url-pattern> </servlet-mapping>

打包可运行jar包过程Plugins配置

<plugins> <!-- tomcat8插件--> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat8-maven-plugin</artifactId> <version>3.0-r1756463</version> <configuration> <port>10084</port> <path>/${context.basepath}</path> <server> <id>tomcat7</id> <username>admin</username> <password>admin</password> </server> <warFile>target/${finalPkgName}.jar</warFile> </configuration> <executions> <execution> <id>tomcat-run</id> <goals> <goal>exec-war-only</goal> </goals> <phase>package</phase> <configuration> <finalName>${domainId}-${version}-war-exec.jar</finalName> <httpPort>20005</httpPort> <path>/${context.basepath}</path> </configuration> </execution> </executions> </plugin> </plugins>

打包

我本地有一个profile为dev的配置

mvn clean package -DskipTests -P dev

完成上述过程可以获得一个xxxxxx-war-exec.jar的文件,直接通过java命令运行即可。

更多配置

上述方式其实也是用了springboot打包时内嵌一个中间件tomcat的方式,springboot中可以通过application.yaml文件指定tomcat运行时的一些自定义配置,上述这种方式也可以通过增加一个server.xml文件配置的方式修改tomcat启动时的一些参数。可满足生产运行要求。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页