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

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

管理jar包开源项目

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

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

背景介绍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启动时的一些参数。可满足生产运行要求。

,