我正在关注Datanucleus - neo4j教程。
并成功完成所有步骤,直到我运行maven命令(java:exec)
错误就是这个。
的java:EXEC
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building DataNucleus JPA Tutorial 5.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> exec-maven-plugin:1.1:java (default-cli) > validate @ datanucleus-samples-jpa-tutorial >>>
[INFO]
[INFO] <<< exec-maven-plugin:1.1:java (default-cli) < validate @ datanucleus-samples-jpa-tutorial <<<
[INFO]
[INFO] --- exec-maven-plugin:1.1:java (default-cli) @ datanucleus-samples-jpa-tutorial ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.880 s
[INFO] Finished at: 2016-03-11T19:41:40+09:00
[INFO] Final Memory: 13M/245M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.1:java (default-cli) on project datanucleus-samples-jpa-tutorial: An exception occured while executing the Java class. null: InvocationTargetException: Error creating transactional connection factory: org.neo4j.graphdb.factory.GraphDatabaseFactory.newEmbeddedDatabase(Ljava/io/File;)Lorg/neo4j/graphdb/GraphDatabaseService; -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-samples-jdo-tutorial</artifactId>
<packaging>jar</packaging>
<version>4.0</version>
<name>DataNucleus AccessPlatform Tutorial for JDO</name>
<url>http://www.datanucleus.org</url>
<properties>
<encoding>UTF-8</encoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-core</artifactId>
<version>[4.0.0-release, 4.9)</version>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-api-jdo</artifactId>
<version>[4.0.0-release, 4.1.99)</version>
</dependency>
<dependency>
<groupId>javax.jdo</groupId>
<artifactId>jdo-api</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>[1.2, 1.3)</version>
</dependency>
<!-- ENABLE THIS FOR Neo4j -->
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-neo4j</artifactId>
<version>[4.0.0-release, 4.9)</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>2.1.3</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
<configuration>
<filesets>
<fileset>
<directory>${basedir}</directory>
<includes>
<include>*.log</include>
<include>tutorial.ods</include>
<include>tutorial.xls</include>
</includes>
</fileset>
<fileset>
<directory>${basedir}/testDB</directory>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
</plugin>
<plugin>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-maven-plugin</artifactId>
<version>4.0.0-release</version>
<configuration>
<api>JDO</api>
<persistenceUnitName>Tutorial</persistenceUnitName>
<log4jConfiguration>src/main/resources/log4j.properties</log4jConfiguration>
<verbose>false</verbose>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>enhance</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<mainClass>org.datanucleus.samples.jdo.tutorial.Main</mainClass>
<systemProperties>
<systemProperty>
<key>log4j.configuration</key>
<value>file:src/main/resources/log4j.properties</value>
</systemProperty>
</systemProperties>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version>
<configuration>
<descriptors>
<descriptor>${basedir}/assembly.xml</descriptor>
</descriptors>
</configuration>
</plugin>
</plugins>
</build>
</project>
我完全按照教程说的那样。
我已经尝试在
上的pom.xml文件中添加运行时线datanucleus-core依赖但我没有工作。
我检查了插件,以便他们可能没有导入但是
所有这些都是进口的。
所以当我运行exec:java命令时,它使用插件maven-plugin1.1
并且无法加载。
另一个问题是无法创建事务连接工厂。
我试图解决这些问题,但我不知道该怎么做。
有人可以帮忙吗?
=============================================== ==========
这些是我按照教程所说的完成的。
在src / resources / META-INF / persistence.xml上编辑persistence.xml文件的数据存储详细信息
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd“version =”1.0“&gt;
<!-- Tutorial "unit" -->
<persistence-unit name="Tutorial">
<class>org.datanucleus.samples.jdo.tutorial.Inventory</class>
<class>org.datanucleus.samples.jdo.tutorial.Product</class>
<class>org.datanucleus.samples.jdo.tutorial.Book</class>
<exclude-unlisted-classes/>
<properties>
<!-- ENABLE THESE FOR H2 -->
<!--<property name="javax.jdo.option.ConnectionURL" value="jdbc:h2:mem:nucleus1"/>-->
<!--<property name="javax.jdo.option.ConnectionDriverName" value="org.h2.Driver"/>-->
<!--<property name="javax.jdo.option.ConnectionUserName" value="sa"/>-->
<!--<property name="javax.jdo.option.ConnectionPassword" value=""/>-->
<!--<property name="javax.jdo.option.Mapping" value="h2"/>-->
<!-- ENABLE THESE FOR HSQLDB -->
<!--property name="javax.jdo.option.ConnectionURL" value="jdbc:hsqldb:mem:nucleus1"/>
<property name="javax.jdo.option.ConnectionDriverName" value="org.hsqldb.jdbcDriver"/>
<property name="javax.jdo.option.ConnectionUserName" value="sa"/>
<property name="javax.jdo.option.ConnectionPassword" value=""/>
<property name="javax.jdo.option.Mapping" value="hsql"/-->
<!-- ENABLE THESE FOR MySQL/MariaDB -->
<!-- Change the "nucleus" to your database name, and the user/password -->
<!--property name="javax.jdo.option.ConnectionURL" value="jdbc:mysql://127.0.0.1/nucleus?useServerPrepStmts=false"/>
<property name="javax.jdo.option.ConnectionDriverName" value="com.mysql.jdbc.Driver"/>
<property name="javax.jdo.option.ConnectionUserName" value="mysql"/>
<property name="javax.jdo.option.ConnectionPassword" value=""/>
<property name="javax.jdo.option.Mapping" value="mysql"/-->
<!-- ENABLE THESE FOR ODF -->
<!-- Change the "tutorial.ods" to include the path to your ODF file -->
<!--property name="javax.jdo.option.ConnectionURL" value="odf:file:tutorial.ods"/>
<property name="javax.jdo.option.Mapping" value="odf"/-->
<!-- ENABLE THESE FOR EXCEL -->
<!-- Change the "tutorial.xls" to include the path to your Excel file -->
<!--property name="javax.jdo.option.ConnectionURL" value="excel:file:tutorial.xls"/>
<property name="javax.jdo.option.Mapping" value="excel"/-->
<!-- ENABLE THESE FOR MONGODB -->
<!--property name="javax.jdo.option.ConnectionURL" value="mongodb:/nucleus1"/>
<property name="javax.jdo.option.Mapping" value="mongodb"/-->
<!-- ENABLE THESE FOR HBASE -->
<!--property name="javax.jdo.option.ConnectionURL" value="hbase:"/>
<property name="javax.jdo.option.Mapping" value="hbase"/-->
<!-- ENABLE THESE FOR NEO4J -->
<!-- Change the "testDB" to the path to your Neo4j graph DB file -->
<property name="javax.jdo.option.ConnectionURL" value="neo4j:C:\Users\Sungjin\Documents\Neo4j\default.graphdb"/>
<property name="javax.jdo.option.Mapping" value="neo4j"/>
<!-- ENABLE THESE FOR CASSANDRA -->
<!--property name="javax.jdo.option.ConnectionURL" value="cassandra:"/>
<property name="javax.jdo.mapping.Schema" value="schema1"/>
<property name="javax.jdo.option.Mapping" value="cassandra"/-->
<property name="datanucleus.schema.autoCreateAll" value="true"/>
在pom.xml文件中编辑neo4j的依赖关系jar
http://maven.apache.org/maven-v4_0_0.xsd“&GT; 4.0.0 org.datanucleus DataNucleus将样本-JDO教程 罐 5 JDO的DataNucleus AccessPlatform教程 http://www.datanucleus.org
<properties>
<encoding>UTF-8</encoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-core</artifactId>
<version>[5.0.0-m1, 5.9)</version>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-api-jdo</artifactId>
<version>[5.0.0-m1, 5.9)</version>
</dependency>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>javax.jdo</artifactId>
<version>[3.2.0-m4, )</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>[1.2, 1.3)</version>
</dependency>
<!-- ENABLE THIS FOR H2 -->
<!--<dependency>-->
<!--<groupId>org.datanucleus</groupId>-->
<!--<artifactId>datanucleus-rdbms</artifactId>-->
<!--<version>[5.0.0-m1, 5.9)</version>-->
<!--</dependency>-->
<!--<dependency>-->
<!--<groupId>com.h2database</groupId>-->
<!--<artifactId>h2</artifactId>-->
<!--<version>1.3.168</version>-->
<!--</dependency>-->
<!-- ENABLE THIS FOR HSQLDB -->
<!--dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-rdbms</artifactId>
<version>[5.0.0-m1, 5.9)</version>
</dependency>
<dependency>
<groupId>hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>1.8.0.4</version>
</dependency-->
<!-- ENABLE THIS FOR MYSQL -->
<!--dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-rdbms</artifactId>
<version>[5.0.0-m1, 5.9)</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.17</version>
</dependency-->
<!-- ENABLE THIS FOR ODF -->
<!--dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-odf</artifactId>
<version>[5.0.0-m1, 5.9)</version>
</dependency>
<dependency>
<groupId>org.odftoolkit</groupId>
<artifactId>odfdom-java</artifactId>
<version>0.8.7</version>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>[2.8, 3.0)</version>
</dependency-->
<!-- ENABLE THIS FOR EXCEL -->
<!--dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-excel</artifactId>
<version>[5.0.0-m1, 5.9)</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.6</version>
</dependency-->
<!-- ENABLE THIS FOR MongoDB -->
<!--dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-mongodb</artifactId>
<version>[5.0.0-m1, 5.9)</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.0.0</version>
</dependency-->
<!-- ENABLE THIS FOR HBase -->
<!--dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-hbase</artifactId>
<version>[5.0.0-m1, 5.9)</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1</version>
</dependency-->
<!-- ENABLE THIS FOR Neo4j -->
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-neo4j</artifactId>
<version>[5.0.0-m1, 5.9)</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>2.3.0</version>
</dependency>
<!-- ENABLE THIS FOR Cassandra -->
<!--dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-cassandra</artifactId>
<version>[5.0.0-m1, 5.9)</version>
</dependency>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>2.1.4</version>
</dependency-->
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
<configuration>
<filesets>
<fileset>
<directory>${basedir}</directory>
<includes>
<include>*.log</include>
<include>tutorial.ods</include>
<include>tutorial.xls</include>
</includes>
</fileset>
<fileset>
<directory>${basedir}/testDB</directory>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
</plugin>
<plugin>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-maven-plugin</artifactId>
<version>4.0.2</version>
<configuration>
<api>JDO</api>
<persistenceUnitName>Tutorial</persistenceUnitName>
<log4jConfiguration>src/main/resources/log4j.properties</log4jConfiguration>
<verbose>false</verbose>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>enhance</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<mainClass>org.datanucleus.samples.jdo.tutorial.Main</mainClass>
<systemProperties>
<systemProperty>
<key>log4j.configuration</key>
<value>file:src/main/resources/log4j.properties</value>
</systemProperty>
</systemProperties>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version>
<configuration>
<descriptors>
<descriptor>${basedir}/assembly.xml</descriptor>
</descriptors>
</configuration>
</plugin>
</plugins>
</build>
我运行了Maven命令mvn clean compile - success
mvn datanucleus:schema-create = error
mvn exec:java = error
在Datanucleus Tutorial 5.0中,Maven命令不同。
我也跟着它。
mvn compile = success
mvn datanucleus:enhance = success
mvn exec:java = error
我按照这些步骤操作,从未触及其他文件。
我做错了什么?