我有一个示例java项目,处于原型阶段,我需要从JPA注释类创建DDL。需要使用hibernate,Mysql。由于某些公司原因,我的项目不是Maven项目。但我在系统上安装了Maven。 所以我根据这里提供的许多解决方案创建了一个pom.xml,并将其放在我的项目文件夹中。我试图运行 mvn hibernate3:hbm2ddl 但我得到了以下错误。
INFO] ------------------------------------------------------------------------
INFO] BUILD FAILURE
INFO] ------------------------------------------------------------------------
INFO] Total time: 2.059 s
INFO] Finished at: 2015-10-06T16:15:45-04:00
INFO] Final Memory: 5M/15M
INFO] ------------------------------------------------------------------------
ERROR] No plugin found for prefix 'hibernate3' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (C:\Users
qxk0996.MUC\.m2\repository), central (https://repo.maven.apache.org/maven2)]
我的pom看起来像是
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.abcd</groupId>
<artifactId>ft</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>ft Jersey Webapp</name>
<build>
<finalName>ft</finalName>
<plugins>
<plugin>
<!-- run "mvn hibernate3:hbm2ddl" to generate a schema -->
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<components>
<component>
<name>hbm2ddl</name>
<implementation>jpaconfiguration</implementation>
</component>
</components>
<componentProperties>
<persistenceunit>ft-jpa</persistenceunit>
<outputfilename>schema.ddl</outputfilename>
<drop>false</drop>
<create>true</create>
<export>false</export>
<format>true</format>
</componentProperties>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
<version>3.5.6-Final</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.12</version>
</dependency>
</dependencies>
</project>
我在webcontent / META-INF文件夹中有persistence.xml,如下所示。
<persistence>
<persistence-unit name="ft-jpa">
<description>Ft Persistence Unit</description>
<properties>
<property name="javax.persistence.jdbc.url" value="-----" />
<property name="javax.persistence.jdbc.user" value="-----" />
<property name="javax.persistence.jdbc.password" value="-----" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
</properties>
</persistence-unit>
</persistence>
答案 0 :(得分:1)
我相信您只需将javax.persistence.schema-generation.scripts.action
属性添加到persistence.xml文件即可。可能的值为“none”,“create”,“drop-and-create”和“drop”。