datanucleus编译插件中的类路径太长(将Eclipse Appengine项目迁移到Maven)

时间:2017-08-05 22:21:56

标签: java eclipse maven google-app-engine jdo

在我之前的eclipse工作项目中(在开始使用Maven之前),我有:

  

的src / META-INF / jdoconfig.xml

在Maven,我有:

  

的src /主/资源/ META-INF / jdoconfig.xml

我无法弄清楚如何告诉eclipse使用这个jdoconfig.xml文件,因此当我启动运行配置时,它运行正常,但是当我尝试执行访问本地数据存储的任何操作时:

  

战/ WEB-INF /应用服务引擎生成/是local_db.bin

然后我尝试运行它我得到以下错误,我不知道该怎么做才能解决它!:

  

引起:javax.jdo.JDOFatalUserException:一个名为的属性   必须指定javax.jdo.PersistenceManagerFactoryClass或jar   文件与META-INF / services / javax.jdo.PersistenceManagerFactory   条目必须位于类路径或名为的属性中   必须指定javax.jdo.option.PersistenceUnitName。   NestedThrowables:javax.jdo.JDOUserException:你有   为此PMF指定使用“持久性单位”   “交易 - 可选”(但这不存在!)或你打电话   JDOHelper.getPersistenceManagerFactory,其中“transactions-optional”为   属性文件的名称(这在CLASSPATH中不存在)     在   javax.jdo.JDOHelper.getPersistenceManagerFactory(JDOHelper.java:856)

问题在于,Appengine Eclipse插件在我们想要迁移到Maven的后台做了一些工作,准备迁移其他一些东西(到Firebase,因为Channel API已达到使用寿命)

目前我正在尝试使用org.datanucleus maven-datanucleus-plugin,它失败并显示文件名(在插件中启动datanucleus的命令中):

开启

mvn -X install
这是它停止的地方: ...

 [DEBUG] Executing command line:
 [DEBUG] cmd.exe /X /C "java -cp "C:\Users\john\.m2\repository\org\datanucleus\maven-datanucl‌​eus-plugin\3.2.0...

然后在页面上显示所有.m2内容以及项目中的所有.class文件,依此类推。

Error while executing the DataNucleus tool 'org.datanucleus.enhancer.DataNucleusEnhancer'.: Error while executing process. Cannot run program "cmd.exe": CreateProcess error=206, The filename or extension is too long -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.datanucleus:maven-datanucleus-plugin:3.2.0-m1:enhance (default) on project DiaryBooker: Error while executing the DataNucleus tool 'org.datanucleus.enhancer.DataNucleusEnhancer'.

不确定这是否是datanucleus插件的预期行为(使用如此长的类路径);我甚至不确定我是否使用了正确的插件。

0 个答案:

没有答案