Java 带有datanucleus的spring引导可执行jar

Java 带有datanucleus的spring引导可执行jar,java,spring-boot,datanucleus,Java,Spring Boot,Datanucleus,在命令行上运行良好的spring boot应用程序,包括: mvn clean package spring-boot:run 然后,我添加了spring引导插件选项来创建一个可执行jar: <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuratio

在命令行上运行良好的spring boot应用程序,包括:

mvn clean package spring-boot:run
然后,我添加了spring引导插件选项来创建一个可执行jar:

<plugin>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-maven-plugin</artifactId>
  <configuration>
    <executable>true</executable>
     <mainClass>for.bar.Application</mainClass>
     <layout>JAR</layout>
  </configuration>
</plugin>
这里部分解释了这个问题:


所以我有点明白发生了什么。DataNuclees是一个OSGi库。甚至可以用DataNuclees作为持久层来制作SpringBootExecJAR吗?我将尝试切换到spring数据,这将是一场噩梦

我不认为DataNucleus有任何特殊的需求,除了用户将东西放入类路径之外,因为它只是一个Java进程——OSGi与参数无关。。。所以它启用了OSGi,并且?。你可以阅读感谢Neil的帮助-我还在这方面工作,在我在问题中发布的链接中-DataNuclees讨论了如何解包和重新打包依赖项。我曾尝试使用不同的工具制作一个包含一个jar或maven程序集插件的胖jar,但最终破坏了spring引导。定义一个包含正确合并的plugin.xml/MANIFEST.MF的jar如何破坏spring引导。谁知道Spring Boots的要求是什么?这篇文章有一种方式,有人把它全部合并了。。。对于那些想要,但你可以在使用Spring boot之前检查某些东西是否正确合并,这样你就知道问题出在哪里了再次感谢所有的帮助-这在Spring boot maven插件和DN之间真是一团糟-尽管多次尝试使用一个jar,maven assembly插件,这些线程中的各种黑客攻击,我选择回溯,将我的应用程序变成一个war,而不是一个可执行的jar——然后安装tomcat并部署了我很满意的war。如果我找到了一种使用maven插件用springboot/DN创建可执行jar的方法,我将更新这个线程。
Could not find API definition for name "JDO". Perhaps you dont have the requisite datanucleus-api-XXX jar in the CLASSPATH?