在一个项目中,我们使用Hibernate和HikariCP,并且它在Eclipse中一切正常。但只要我生成一个jar文件(Maven),就不能再找到hikaricp了。我已经在各个可能的角度把这个,但我无法弄清楚什么是错的...运行罐子时找不到HikariCP
的persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="starmap" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<class>net.clanwolf.c3.transfer.pojos.User</class>
<class>net.clanwolf.c3.transfer.pojos.RolePlayStory</class>
<class>net.clanwolf.c3.transfer.pojos.RolePlayCharacter</class>
<class>net.clanwolf.c3.transfer.pojos.RolePlayStoryVar2</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://**.**.**.**:3306/C3?useUnicode=yes&characterEncoding=UTF-8" />
<property name="current_session_context_class" value="thread" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
<!-- Hikari connection pool -->
<property name="hibernate.hikari.dataSource.url" value="jdbc:mysql://**.**.**.**:3306/C3?useUnicode=yes&characterEncoding=UTF-8" />
<property name="hibernate.hikari.dataSource.user" value="**"/>
<property name="hibernate.hikari.maximumPoolSize" value="100" />
<property name="hibernate.hikari.idleTimeout" value="30000" />
<property name="hibernate.hikari.dataSource.cachePrepStmts" value="true" />
<property name="hibernate.hikari.dataSource.prepStmtCacheSize" value="250" />
<property name="hibernate.hikari.dataSource.prepStmtCacheSqlLimit" value="2048" />
<property name="hibernate.hikari.dataSource.useServerPrepStmts" value="true" />
</properties>
</persistence-unit>
</persistence>
的pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
...
<dependencies>
<!-- Database persistence -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!-- <version>5.1.33</version> -->
<version>6.0.5</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.1.0.Final</version>
<!-- <version>5.0.3.Final</version> -->
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>5.1.0.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.zaxxer/HikariCP -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>2.6.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-hikaricp -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-hikaricp</artifactId>
<version>5.2.7.Final</version>
</dependency>
...
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>4.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.2.RELEASE</version>
</dependency>
<[email protected] -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>4.2.1.RELEASE</version>
</dependency>
...
<dependency>
<groupId>org.hibernate.common</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>5.0.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
...
</dependencies>
</project>
如果我在Eclipse中运行这个,它都很好:
01:14:05,436信息HikariDataSource:70 - HikariPool-1 - 开始。
如果我运行它从创建罐子,它说:
01:11:14631 WARN ConnectionProviderInitiator:256 - HHH000472:阿光遇到 性质,但阿光的ConnectionProvider没有 发现在类路径上;这些属性将被忽略。 01:11:14,634警告连接:71 - HHH10001002:使用休眠 内置连接池(不适合生产使用)01:11:14,639信息 连接:127 - HHH10001005:使用驱动程序[com.mysql.cj。 jdbc.Driver] 在URL [JDBC:MySQL的://212.227.253.80:3306/C3 =了useUnicode是&的characterEncoding = UTF-8]
的文件中的类路径是肯定的,我做的不明白为什么它不会被发现。 任何帮助非常感谢!
文件IS在类路径中是肯定的:如果是,则不会出现此错误。你如何运行你的应用程序?首先是哪种应用程序?如果部署在Web服务器上,它是如何部署的? –
这是一个java控制台应用程序。其实是一款游戏的服务器。它连接到数据库并为通过nadron框架连接的本地Java客户端提供访问点。 Maven创建一个jar文件,我从命令行(java -jar blah.jar)运行它。稍后,这将通过命令行在服务器上启动。 – WarWolfen
那么,你如何运行它?发布命令。发布jar文件的内容。发布其清单。发布你的目录和jar文件的结构。如果您没有提供任何细节,我们无法提供帮助。 –