Java 没有名为'的bean;实体管理工厂&x27;添加模块描述符时可用

Java 没有名为'的bean;实体管理工厂&x27;添加模块描述符时可用,java,spring-boot,spring-data-jpa,java-11,java-module,Java,Spring Boot,Spring Data Jpa,Java 11,Java Module,我想开发一个模块化的应用程序,它使用MySql数据库、java11和spring引导。在我添加模块描述符之前,该应用程序运行良好;因此,我只能猜测我在module-info.java中遗漏了什么,但我不知道它是什么。谢谢你的帮助。这是我的密码 pom.xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot

我想开发一个模块化的应用程序,它使用MySql数据库、java11和spring引导。在我添加模块描述符之前,该应用程序运行良好;因此,我只能猜测我在module-info.java中遗漏了什么,但我不知道它是什么。谢谢你的帮助。这是我的密码

pom.xml

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <java.version>11</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
module-info.java

    requires java.persistence;
    requires spring.context;
    requires spring.beans;
    requires spring.data.jpa;
    requires spring.data.commons;
    requires spring.web;
    requires spring.boot;
    requires spring.boot.autoconfigure;

    opens com.jamsws.demojpa to spring.core;

    exports com.jamsws.demojpa to spring.beans, spring.context;
    exports com.jamsws.demojpa.resource to spring.beans;
User.java

@Entity
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    private String name;
    private String teamName;
    private Integer salary;

    public User() {
    }

    public User(String name, String teamName, Integer salary) {
        this.name = name;
        this.teamName = teamName;
        this.salary = salary;
    }

    // getters and setters
}
UsersRepository.java

@Repository
public interface UsersRepository extends JpaRepository<User, Integer> {
}
错误跟踪

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to stop component [WebappLoader[StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]]
    at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[na:na]
    at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) ~[na:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:982) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1400) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1389) ~[tomcat-embed-core-9.0.36.jar:na]
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) ~[tomcat-embed-core-9.0.36.jar:na]
    at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) ~[na:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:976) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.core.StandardService.stopInternal(StandardService.java:473) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:992) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.startup.Tomcat.stop(Tomcat.java:478) ~[tomcat-embed-core-9.0.36.jar:na]
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopTomcat(TomcatWebServer.java:273) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stop(TomcatWebServer.java:331) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:148) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.SpringApplication.run(SpringApplication.java:1237) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at demojpa/com.jamsws.demojpa.DemojpaApplication.main(DemojpaApplication.java:15) ~[classes/:na]
Caused by: org.apache.catalina.LifecycleException: Failed to stop component [WebappLoader[StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:267) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5431) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1400) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1389) ~[tomcat-embed-core-9.0.36.jar:na]
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) ~[tomcat-embed-core-9.0.36.jar:na]
    at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) ~[na:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:976) ~[tomcat-embed-core-9.0.36.jar:na]
    ... 23 common frames omitted
Caused by: java.lang.NoClassDefFoundError: java/sql/SQLException
    at java.base/java.lang.Class.getDeclaredMethods0(Native Method) ~[na:na]
    at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3166) ~[na:na]
    at java.base/java.lang.Class.getMethodsRecursive(Class.java:3307) ~[na:na]
    at java.base/java.lang.Class.getMethod0(Class.java:3293) ~[na:na]
    at java.base/java.lang.Class.getMethod(Class.java:2106) ~[na:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc(WebappClassLoaderBase.java:1697) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.loader.WebappClassLoaderBase.clearReferences(WebappClassLoaderBase.java:1619) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.loader.WebappClassLoaderBase.stop(WebappClassLoaderBase.java:1555) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.loader.WebappLoader.stopInternal(WebappLoader.java:449) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257) ~[tomcat-embed-core-9.0.36.jar:na]
    ... 31 common frames omitted
Caused by: java.lang.ClassNotFoundException: java.sql.SQLException
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.web.embedded.tomcat.TomcatEmbeddedWebappClassLoader.loadClass(TomcatEmbeddedWebappClassLoader.java:72) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1188) ~[tomcat-embed-core-9.0.36.jar:na]
    ... 41 common frames omitted

2020-07-19 19:51:17.437 ERROR 10199 --- [           main] org.apache.catalina.core.ContainerBase   : A child container failed during stop

java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: A child container failed during stop
    at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[na:na]
    at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) ~[na:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:982) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.core.StandardService.stopInternal(StandardService.java:473) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:992) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.startup.Tomcat.stop(Tomcat.java:478) ~[tomcat-embed-core-9.0.36.jar:na]
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopTomcat(TomcatWebServer.java:273) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stop(TomcatWebServer.java:331) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:148) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.SpringApplication.run(SpringApplication.java:1237) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at spring.boot@2.3.1.RELEASE/org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) ~[spring-boot-2.3.1.RELEASE.jar:na]
    at demojpa/com.jamsws.demojpa.DemojpaApplication.main(DemojpaApplication.java:15) ~[classes/:na]
Caused by: org.apache.catalina.LifecycleException: A child container failed during stop
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:990) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1400) ~[tomcat-embed-core-9.0.36.jar:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1389) ~[tomcat-embed-core-9.0.36.jar:na]
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) ~[tomcat-embed-core-9.0.36.jar:na]
    at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) ~[na:na]
    at org.apache.tomcat.embed.core@9.0.36/org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:976) ~[tomcat-embed-core-9.0.36.jar:na]
    ... 16 common frames omitted

2020-07-19 19:51:17.441  INFO 10199 --- [           main] ConditionEvaluationReportLoggingListener : 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-07-19 19:51:17.469 ERROR 10199 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

Field usersRepository in com.jamsws.demojpa.resource.UserResources required a bean named 'entityManagerFactory' that could not be found.

The injection point has the following annotations:
    - @org.springframework.beans.factory.annotation.Autowired(required=true)


Action:

Consider defining a bean named 'entityManagerFactory' in your configuration.
编辑:根据@Naman的建议,我添加了一个
requires java.sql到模块描述符文件,这有助于解决“没有名为'entityManagerFactory'的bean可用”的问题

2020-07-20 06:57:54.679  INFO 21643 --- [           main] com.jamsws.demojpa.DemojpaApplication    : Starting DemojpaApplication on anderson-ubuntu with PID 21643 (/home/anderson/Documents/JavaApps/PracticeProjects/demojpa/target/classes started by anderson in /home/anderson/Documents/JavaApps/PracticeProjects/demojpa)
2020-07-20 06:57:54.681  INFO 21643 --- [           main] com.jamsws.demojpa.DemojpaApplication    : No active profile set, falling back to default profiles: default
2020-07-20 06:57:54.973  INFO 21643 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2020-07-20 06:57:54.996  INFO 21643 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 20ms. Found 1 JPA repository interfaces.
2020-07-20 06:57:55.272  INFO 21643 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2020-07-20 06:57:55.276  INFO 21643 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-07-20 06:57:55.276  INFO 21643 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.36]
2020-07-20 06:57:55.295  INFO 21643 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2020-07-20 06:57:55.295  INFO 21643 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 579 ms
2020-07-20 06:57:55.327  WARN 21643 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userResources': Unsatisfied dependency expressed through field 'usersRepository'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'usersRepository' defined in com.jamsws.demojpa.repository.UsersRepository defined in @EnableJpaRepositories declared on DemojpaApplication: Cannot create inner bean '(inner bean)#5c080ef3' of type [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean property 'entityManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#5c080ef3': Cannot resolve reference to bean 'entityManagerFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'entityManagerFactory' available
2020-07-20 06:57:55.328  INFO 21643 --- [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2020-07-20 06:57:55.338  INFO 21643 --- [           main] ConditionEvaluationReportLoggingListener : 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-07-20 06:57:55.370 ERROR 21643 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

Field usersRepository in com.jamsws.demojpa.resource.UserResources required a bean named 'entityManagerFactory' that could not be found.

The injection point has the following annotations:
    - @org.springframework.beans.factory.annotation.Autowired(required=true)


Action:

Consider defining a bean named 'entityManagerFactory' in your configuration.


Process finished with exit code 1


异常的主要原因似乎是

Caused by: java.lang.NoClassDefFoundError: java/sql/SQLException
同时,在您的问题中提到“在我添加模块描述符之前,应用程序工作得非常好”,这似乎表明在引入
module info.java
之前,您的应用程序必须使用类路径,在该路径中,它能够通过可传递的依赖关系找到上面提到的类

1另一个方面是,您的应用程序不直接需要此类,否则您将面临编译时错误,指出导入无法识别

这可以归结为您在应用程序描述符中提到的模块依赖项,因此其中一个或多个模块依赖项要求modulepath上现在出现
java.sql.SQLException
,而模块本身没有明确指定(在自动模块的情况下很可能)。您需要确定您需要的模块中的哪些模块可能需要特定的类以实现长期解决方案


1一种方法是向库/模块所有者报告,并要求他们定义明确的依赖关系。这可能需要您等待它们自行升级,然后使用升级版本。在这种情况下,您可以在升级之前向应用程序添加参数

--add-modules=java.sql 
另一种可能是,您的应用程序本身在运行时需要
java.sql
模块,而库只是在您显式声明时使用它。在这种情况下,解决方案是将以下内容添加到
module info.java
文件中:

requires java.sql

我已经检查了你的堆栈跟踪。你能试试下面的步骤吗

  • 从UserRepository.java中删除@Repository注释
  • 仅当UserRepository.java位于主demojpaaapplication.java的子包中时,才从demojpaaapplication中删除@EnableJpaRepositories

  • 您好,您已经粘贴了代码,但忘记粘贴错误堆栈跟踪。这将是很好的,如果你可以上传这作为一个邮政编码,让我可以看看@如果您的JPA实体位于Main类的子包中,则不需要第行上方的EnableJpaRepositories(basePackages=“com.jamsws.demojpa.repository”)。Hi@Sauribab,我编辑了文章以包含堆栈跟踪;愚蠢的错误。根据Naman的建议,您可以在()找到该项目。我在模块描述符中添加了requires java.sql,这有助于跟踪的这一部分,但关于“没有名为'entityManagerFactory'的bean可用”的错误仍然存在。再说一次,任何建议都是错误的appreciated@Anderson关于更新,你看了吗?或者尝试使用
    --debug
    执行该应用程序?您的模块列表似乎太短,这篇关于将Spring Boot应用程序迁移到Java 9的文章列出了更多内容:。对于第三方开发人员的勇敢但非官方的努力来说,这并非完全出乎意料,他们只是不断进行黑客攻击,直到事情不再发生。到目前为止,我还不认为Spring在其当前状态下支持Java9模块系统。如果这是真的。。。我现在还不会尝试使用Spring(Boot)实现模块化应用程序。您好@Naman,我按照您的建议添加了
    required java.sql
    ,现在我没有
    java.lang.NoClassDefFoundError:java/sql/SQLException
    ,但是应用程序仍然无法启动
    没有可用的名为“entityManagerFactory”的bean。我已经编辑了这个问题,以显示我尝试过的错误,但现在它抱怨没有找到UserRepository类型的bean;这是因为UserResources.java正在自动连接usersrepository。在我这边尝试之后,我给了您一个建议。1) 正如您在这里看到的,数据jpa接口也不需要@Repository。2) 这说明maven存储库不好是一个原因。若问题仍然存在,请在调试模式下启用日志,并仔细观察,您将找到一些指针。希望能有帮助。
    
    Caused by: java.lang.NoClassDefFoundError: java/sql/SQLException
    
    --add-modules=java.sql 
    
    requires java.sql