在这里,我们将给大家分享关于使用带有DatanucleusMaven插件的单独模块中的JDOPersistent类的知识,同时也会涉及到如何更有效地c#–请求类型为“System.Data.SqlCl
在这里,我们将给大家分享关于使用带有Datanucleus Maven插件的单独模块中的JDO Persistent类的知识,同时也会涉及到如何更有效地c# – 请求类型为“System.Data.SqlClient.SqlClientPermission,System.Data,Version = 4.0.0.0”的权限、CDH报错:PersistenceException: [PersistenceUnit: cmf.server] Unable to build EntityManagerFactory、Datanucleus,JDO和可执行jar-怎么做?、Exception in thread "AWT-EventQueue-0" javax.persistence.PersistenceException: No Persi...的内容。
本文目录一览:- 使用带有Datanucleus Maven插件的单独模块中的JDO Persistent类
- c# – 请求类型为“System.Data.SqlClient.SqlClientPermission,System.Data,Version = 4.0.0.0”的权限
- CDH报错:PersistenceException: [PersistenceUnit: cmf.server] Unable to build EntityManagerFactory
- Datanucleus,JDO和可执行jar-怎么做?
- Exception in thread "AWT-EventQueue-0" javax.persistence.PersistenceException: No Persi...
使用带有Datanucleus Maven插件的单独模块中的JDO Persistent类
我有一个可以使用JDO持久保存到数据库的应用程序-
我想使用第二个Java模块中的PersistenceCapable类。尽管应用程序会编译一个简单的测试,但会出现以下错误:
“
com.hello.world.Foo”类不可持久。这意味着该类尚未增强,或者文件的增强版本不在CLASSPATH中(或被未增强的版本隐藏),或者Meta-
找不到该类的数据/注释。
好的,因此增强器插件未在第二个模块的类上运行。我不确定在构建过程中我需要做什么以将增强器指向该模块。
- 父项目
- 第二个模块:com.hello.world.Foo
ParentProject pom.xml及其相关部分-问题是如何将增强器指向包含我的持久性类的第二个模块?
<dependencies> <dependency> <groupId>Second Module</groupId> <artifactId>Second Module</artifactId> <version>1.0-SNAPSHOT</version> <scope>compile</scope> </dependency> <dependency> <groupId>javax.jdo</groupId> <artifactId>jdo-api</artifactId> <version>3.0.1</version> </dependency> <dependency> <groupId>org.datanucleus</groupId> <artifactId>datanucleus-core</artifactId> <version>[3.2.0, 3.2.99)</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.datanucleus</groupId> <artifactId>datanucleus-api-jdo</artifactId> <version>[3.2.0, 3.2.99)</version> </dependency> <dependency> <groupId>org.datanucleus</groupId> <artifactId>datanucleus-rdbms</artifactId> <version>[3.2.0, 3.2.99)</version> <scope>runtime</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.datanucleus</groupId> <artifactId>datanucleus-maven-plugin</artifactId> <version>3.3.0-release</version> <configuration> <api>JDO</api> <props>${basedir}/datanucleus.properties</props> <log4jConfiguration>${basedir}/log4j.properties</log4jConfiguration> <verbose>true</verbose> </configuration> <executions> <execution> <phase>process-classes</phase> <goals> <goal>enhance</goal> </goals> </execution> </executions> </plugin> </plugins> </build></project>
答案1
小编典典知道了-我不得不在问题中添加完全相同的pom.xml配置到第二个模块,并mvninstall
在编译父模块之前执行使这些类增强的操作。同时从事Jetty和GAE。我错误地认为父模块会增强模块依赖项中包含的类。
感谢您的帮助DataNucleus!
c# – 请求类型为“System.Data.SqlClient.SqlClientPermission,System.Data,Version = 4.0.0.0”的权限
Request for the permission of type ‘System.Data.sqlClient.sqlClientPermission,System.Data,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089’ Failed.
任何想法如何解决这个问题?我可能需要一个例子,因为我是新的,这是我的第一个WPF应用程序.
解决方法
CDH报错:PersistenceException: [PersistenceUnit: cmf.server] Unable to build EntityManagerFactory
1.在启动CDH中master的服务cloudera-scm-server start并立刻挂掉了,提示如下错误
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ''com.cloudera.server.cmf.TrialState'': Cannot resolve reference to bean ''entityManagerFactoryBean'' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ''entityManagerFactoryBean'': FactoryBean threw exception on object creation; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: cmf.server] Unable to build EntityManagerFactory
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:616)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:148)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1003)
2.问题出现的原因,是因为连接到mysql的scm库出错了。
①首先查看连接到mysql的scm库的配置文件db.properties是否正常。
一般情况下位置在 /opt/cm-5.16.1/etc/cloudera-scm-server
②看看里面的配置是否正确
# The database type
# Currently ''mysql'', ''postgresql'' and ''oracle'' are valid databases.
com.cloudera.cmf.db.type=mysql
# The database host
# If a non standard port is needed, use ''hostname:port''
com.cloudera.cmf.db.host=localhost #ip和端口
# The database name
com.cloudera.cmf.db.name=scm #库名
# The database user
com.cloudera.cmf.db.user=scm #库用户,要在数据库中确认一下用户权限
# The database user''s password
com.cloudera.cmf.db.password=scm #库密码
# The db setup type
# By default, it is set to INIT
# If scm-server uses Embedded DB then it is set to EMBEDDED
# If scm-server uses External DB then it is set to EXTERNAL
com.cloudera.cmf.db.setupType=INIT #master为EXTERNAL,slave为INIT
③其实最好的测试办法,就是直接使用用户名和密码登录mysql看看是否能正常访问scm库。
3.重启master后可用了。
slave可能会出现下面报错:nested exception is java.lang.RuntimeException: ScmActive at bootup: Failed to validate the identity of Cloudera Manager.
在下一篇《CDH报错:ScmActive at bootup: Failed to validate the identity of Cloudera Manager.》中进行解决。
以上。
Datanucleus,JDO和可执行jar-怎么做?
我正在使用Datanucleus和JDO开发用于嵌入式H2数据库的桌面应用程序。当我从Eclipse运行它时,一切正常,但是当我尝试用它制作可执行jar时,它将停止工作。我收到以下错误:
org.datanucleus.exceptions.NucleusUserException:已指定持久性进程使用名称为“
jdo”的ClassLoaderResolver,但DataNucleus插件机制尚未找到该持久化过程。 请检查您的CLASSPATH和插件规范。
当然,这表明我没有正确配置某些内容-
我缺少什么?如果我错过了一些大的东西,那根本就行不通,所以我假设它是一个有缺陷的可执行jar。我已经在其他应用程序中看到了该错误,例如JPOX,该错误已得到修复,但没有给出任何解决方案。
整个错误stacktrace:
Exception in thread "main" javax.jdo.JDOFatalInternalException: Unexpected exception caught. at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1193) at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:808) at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:701) at db.PersistenceManagerFilter.init(PersistenceManagerFilter.java:44) at Main.main(Main.java:26)NestedThrowablesStackTrace:java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at javax.jdo.JDOHelper$16.run(JDOHelper.java:1965) at java.security.AccessController.doPrivileged(Native Method) at javax.jdo.JDOHelper.invoke(JDOHelper.java:1960) at javax.jdo.JDOHelper.invokeGetPersistenceManagerFactoryOnImplementation(JDOHelper.java:1166) at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:808) at javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:701) at db.PersistenceManagerFilter.init(PersistenceManagerFilter.java:44) at Main.main(Main.java:26)Caused by: org.datanucleus.exceptions.NucleusUserException: Persistence process has been specified to use a ClassLoaderResolver of name "jdo" yet this has not been found by the DataNucleus plugin mechanism. Please check your CLASSPATH and plugin specification. at org.datanucleus.NucleusContext.<init>(NucleusContext.java:233) at org.datanucleus.NucleusContext.<init>(NucleusContext.java:196) at org.datanucleus.NucleusContext.<init>(NucleusContext.java:174) at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.<init>(JDOPersistenceManagerFactory.java:364) at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenceManagerFactory(JDOPersistenceManagerFactory.java:294) at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceManagerFactory(JDOPersistenceManagerFactory.java:195) ... 12 more
它指向的行是PersistenceManagerFilter初始化方法:
pmf = JDOHelper.getPersistenceManagerFactory(getProperties());
属性文件如下所示:
javax.jdo.PersistenceManagerFactoryClass=org.datanucleus.api.jdo.JDOPersistenceManagerFactorydatanucleus.ConnectionDriverName=org.h2.Driverdatanucleus.ConnectionURL=jdbc:h2:datanucleusdatanucleus.ConnectionUserName=sadatanucleus.ConnectionPassword=
我拥有来自maven的所有依赖关系,目标是使用依赖关系进行部署。依赖性在datanucleus页面http://www.datanucleus.org/products/datanucleus/jdo/maven.html上说明
有任何想法吗?
答案1
小编典典添加到DataNucleus答案。
为了满足您的需求,您应该使用 maven-dependency-plugin
并将以下内容添加到pom.xml中
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.4</version> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/jars</outputDirectory> <overWriteReleases>false</overWriteReleases> <overWriteSnapshots>false</overWriteSnapshots> <overWriteIfNewer>true</overWriteIfNewer> </configuration> </execution> </executions> </plugin> </plugins></build>
然后,依赖项将位于 target / jars 目录中。
要执行您的应用程序,请使用以下命令:
Windows:
java -cp“ yourFile.jar; jars / *” package.className
Linux:
java -cp“ yourFile.jar:jars / *” package.className
注意:请勿使用jars / * .jar,这将无法正常工作
Exception in thread "AWT-EventQueue-0" javax.persistence.PersistenceException: No Persi...
swing
Exception in thread "AWT-EventQueue-0" javax.persistence.PersistenceException: No Persistence provider for EntityManager named null
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:61)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
at com.hs.selenium.MainFrame.initComponents(MainFrame.java:49)
at com.hs.selenium.MainFrame.<init>(MainFrame.java:30)
at com.hs.selenium.MainFrame$2.run(MainFrame.java:198)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
今天关于使用带有Datanucleus Maven插件的单独模块中的JDO Persistent类的分享就到这里,希望大家有所收获,若想了解更多关于c# – 请求类型为“System.Data.SqlClient.SqlClientPermission,System.Data,Version = 4.0.0.0”的权限、CDH报错:PersistenceException: [PersistenceUnit: cmf.server] Unable to build EntityManagerFactory、Datanucleus,JDO和可执行jar-怎么做?、Exception in thread "AWT-EventQueue-0" javax.persistence.PersistenceException: No Persi...等相关知识,可以在本站进行查询。
本文标签: