编辑
我现在只使用spring工作了几个星期,我可以创建一些基本的应用程序。我正在开发一个基于rest api的应用程序,使用maven build System将hibernate连接到mysql。我正在使用IntelliJ Idea进行开发和制作工件。我试图创建一个包含嵌入式tomcat的.jar文件,我只需运行该文件就可以部署它。
问题
https://github.com/youngpetr/fitapp
但基本上只是稍微修改了一下https://github.com/netgloo/spring-boot-samples/tree/master/spring-boot-mysql-springdatajpa-hibernate
进度
第一个问题:它说我缺少嵌入式servlet容器工厂bean,我通过添加:
@Bean
public EmbeddedServletContainerFactory servletContainer() {
TomcatEmbeddedServletContainerFactory factory =
new TomcatEmbeddedServletContainerFactory();
return factory;
}
那么第二个问题:找不到我的crud存储库接口(作为bean自动连线),我必须使用@enablejparepositories(“com.youngpetr.fitapp.server.repositories”)
摘要
在修复了第二个问题之后,我基本上陷入了一个缺少配置的无限循环,当我修复了一个配置时,又出现了另一个配置。缺少实体管理器bean,缺少会话工厂bean...
我是不是在建造这个项目的时候错过了什么。怎么可能在IDE中所有的东西都配置得很好,bean都找到了,jar却找不到它们。
我使用了几个教程,甚至尝试运行这些教程中的代码,但同样的问题出现了。
<!-- GLOBAL PROPERTIES AND SETTINGS -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<start-class>com.youngpetr.fitapp.server.Main</start-class>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!-- BUILD SETTINGS -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!-- DEPENDENCIES -->
<dependencies>
<!-- SPRING BOOT -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- MYSQL DRIVER -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.2</version>
</dependency>
</dependencies>
当我尝试另一个基本教程时,它不使用springboot,而是使用标准的spring,使用main方法执行和关闭,即使使用构建的jar也一切都很好。
我想我创建.jar的方式可能有问题,可能在Spring Boot配置中也有问题,因为在IDE中没有错误。
转到.战争能帮我吗?
好吧,在一段时间内,我在许多不适用的不同问题中进行了搜索,因为我的代码似乎是正确的,所以我研究了jar的创建过程。
我一直在创建jar来运行intellij idea函数来创建工件、标准过程、从具有依赖项的模块、链接的主类、添加的配置文件和所有的东西。
我不知道那里发生了什么,但是当我尝试从一开始就从命令行手动运行所有东西(基本上只是几个maven和java命令)时,我已经设法创建了一个完全不同的jar,并且该jar运行正常。
我仍然不知道为什么IDE工件不能工作,并将感谢任何评论,以便遇到这个问题的人可以在这里学到一些东西。
非常感谢所有给我提示我应该和不应该去找问题的人--拉文德拉·德瓦迪加、安迪·威尔金森,甚至M·迪恩姆
事先简短说明:看到问题(IntelliJ IDEA运行错误的类和IntelliJ IDEA不正确运行java项目)得到了回答,但它们没有帮助。 启动一个新类(在本例中是CaesarCipher)并键入代码后,没有运行它的选项。 当我在左边的源文件夹中右键单击它后,没有运行的选项。 我为万一我忽略了解决方案而道歉。
我在intelliJ中创建了一个Java /JavaFX应用程序。我创建了它作为一个Java的应用程序,后来为JavaFX导入了必要的部件。 我尝试了Izpack、Javapackager、Jpackager、Jpackage和创建胖jar中的各种安装程序/打包程序创建者。我什么都不行。 该应用程序在IntelliJ中运行良好。 为什么它不会在别处运行? 这是我的POM、代码和错误消息。 如果你能
我正在尝试用Maven/Intellij运行spock测试。但是maven和intellij都没有接受测试类。它肯定会拾取类,但不会在类中执行任何测试。 2)Surefire插件配置正确,因为它会拾取文件进行测试 3)target/test-classs文件夹中生成的测试类 我需要帮助我在这里错过了什么。
我有一个Maven/SpringBoot2.3。3应用JUnit 5和Cucumber(v6.5.1)测试。 问题是,我可以通过Maven运行OK单元测试和集成测试,但它不运行Cucumber。 cucumber赛跑者: Cucumber Spring上下文配置: 步骤: 我在Maven pom中使用Surefire和故障保护。xml:https://github.com/danieldestro
你好,我正在尝试使用Maven运行一个JUnit测试。 [信息]没有要编译的内容-所有类都是最新的 [信息] [信息]--maven-surefire-plugin:2.10:test(default-test)@uitests-core-- 我不知道为什么它不能运行我的测试。请帮帮我。
null 有人经历过同样的问题吗?