Hibernate、Jetty、H2和Maven java.lang.NoSuchMethodError:&x27;javax.persistence.Index[]javax.persistence.Table.Index()';
尝试连接到本地主机上的服务器时遇到问题:Hibernate、Jetty、H2和Maven java.lang.NoSuchMethodError:&x27;javax.persistence.Index[]javax.persistence.Table.Index()';,java,hibernate,maven,jetty,h2,Java,Hibernate,Maven,Jetty,H2,尝试连接到本地主机上的服务器时遇到问题: java.lang.NoSuchMethodError:'javax.persistence.Index[]javax.persistence.Table.Index()' 有人知道这一输出的原因吗 我试图更改持久性版本,但它没有任何帮助 下面是我的配置文件: Pom.xml <!--suppress ALL --> <project xmlns="http://maven.apache.org/POM/4.0.0"
java.lang.NoSuchMethodError:'javax.persistence.Index[]javax.persistence.Table.Index()' 有人知道这一输出的原因吗 我试图更改持久性版本,但它没有任何帮助 下面是我的配置文件: Pom.xml
<!--suppress ALL -->
<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>
<groupId>io.github.Dev</groupId>
<artifactId>Hello</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>Hello World</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>11</java.version>
<junit.version>4.12</junit.version>
<slf4j.version>1.7.25</slf4j.version>
</properties>
<dependencies>
<!--Test-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<!--Logger-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!--Servlety-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<!--Jetty-->
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.22.v20191022</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-annotations</artifactId>
<version>9.4.22.v20191022</version>
</dependency>
<!--DB-->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.200</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.9.Final</version>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
<version>2.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<!--Compiler-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
<plugin>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-maven-plugin</artifactId>
<version>6.0.8</version>
<configuration>
<url>jdbc:h2:file:./db</url>
<user>sa</user>
</configuration>
</plugin>
</plugins>
</build>
</project>
///////////////////////////Hibernate confi<?xml version='1.0' encoding='utf-8'?>
<!--
~ Hibernate, Relational Persistence for Idiomatic Java
~
~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
-->
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">org.h2.Driver</property>
<property name="connection.url">jdbc:h2:file:C:\Users\putek\IdeaProjects\_1\db</property>
<property name="connection.username">sa</property>
<property name="connection.password"/>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.H2Dialect</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">validate</property>
<!-- Names the annotated entity class -->
<mapping class="io.github.Dev.Lang"/>
</session-factory>
</hibernate-configuration>
//////////////////////////////////////and my HibernateUtil
public class HibernateUtil {
private static SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory() {
StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder().
configure("hibernate.cfg.xml").build();
Metadata metadata = new MetadataSources(standardRegistry).getMetadataBuilder().
build();
SessionFactoryBuilder sessionFactoryBuilder = metadata.getSessionFactoryBuilder();
SessionFactory sessionFactory = sessionFactoryBuilder.build();
return sessionFactory;
}
public static SessionFactory getSessionFactory() {
if (sessionFactory == null) {
sessionFactory = buildSessionFactory();
}
return sessionFactory;
}
static void close() {
if ( sessionFactory != null )
{
sessionFactory.close();
}
}
}
4.0.0
io.github.Dev
你好
1.0-快照
战争
你好,世界
UTF-8
11
4.12
1.7.25
朱尼特
朱尼特
${junit.version}
测试
org.slf4j
slf4j api
${slf4j.version}
org.slf4j
slf4j简单
${slf4j.version}
javax.servlet
javax.servlet-api
3.1.0
org.eclipse.jetty
jetty maven插件
9.4.22.v20191022
org.eclipse.jetty
码头注释
9.4.22.v20191022
com.h2数据库
氢
1.4.200
org.hibernate
冬眠核心
5.4.9.最终版本
javax.persistence
javax.persistence-api
2.2
org.apache.maven.plugins
maven编译器插件
3.8.0
11
org.flywaydb
FlywayMaven插件
6.0.8
jdbc:h2:文件:./db
sa
///////////////////////////冬眠
org.h2.Driver
jdbc:h2:文件:C:\Users\putek\IdeaProjects\\u 1\db
sa
1.
org.hibernate.dial.h2方言
真的
验证
//////////////////////////////////////还有我的冬眠
公共类HibernateUtil{
私有静态SessionFactory SessionFactory=buildSessionFactory();
私有静态SessionFactory buildSessionFactory(){
StandardServiceRegistry standardRegistry=新的StandardServiceRegistryBuilder()。
configure(“hibernate.cfg.xml”).build();
元数据=新的元数据源(standardRegistry)。getMetadataBuilder()。
build();
SessionFactoryBuilder SessionFactoryBuilder=元数据。getSessionFactoryBuilder();
SessionFactory SessionFactory=sessionFactoryBuilder.build();
返回会话工厂;
}
公共静态SessionFactory getSessionFactory(){
if(sessionFactory==null){
sessionFactory=buildSessionFactory();
}
返回工厂;
}
静态空隙闭合(){
if(sessionFactory!=null)
{
sessionFactory.close();
}
}
}