我是Spring boot的新手,我认为这个问题非常基本。
我使用Spring Boot创建了一个应用程序,在开发环境中一切都很好。但当我将jar文件从目标目录复制到另一台机器并运行“java-jar”时,它不会呈现jsp页面,并出现以下错误:
There was an unexpected error (type=Not Found, status=404)
当我将src文件夹从项目根目录复制到同一位置时,它工作正常。
似乎jar文件只是从项目的根目录工作。
这是我的配置:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- Spring Boot Section -->
<!-- Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/webapp</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
和我的项目结构:
我在命令行运行以下内容:
mvn clean package
我的目标目录中有以下内容:
我可以使用
java -jar target/springboot-in-10-steps-0.0.1.jar
应用程序按预期工作,并呈现欢迎页面。
当我转到目标目录并运行相同的命令时:
java -jar springboot-in-10-steps-0.0.1.jar
应用程序启动,但不会呈现欢迎页面。
当我将src复制到目标时,一切都很好,我可以看到欢迎页面。似乎Spring boot在jar文件中找不到WEB-INF/jsp目录。
我是否错过了Spring Boot配置或application.properties中的某些内容?
我可以通过将包装从罐子改为战争来修复它,有趣的是,这是有效的:
java -jar springboot-in-10-steps-0.0.1.war
我认为有一些方法可以使用重新打包功能来更改生成的jar文件中的文件和文件夹的结构。
我的Intellij项目在IDE中完美地运行,但任何试图提取有效数据的方法。来自它的jar文件导致了某种错误。我的项目使用Maven、Spring和Apache Ignite。这是我的pom。xml文件: 清单: 并且,文件夹结构: 我列出了以下尝试: 1-在pom中运行mvn clean install。xml目录:编译得很好,但我得到的错误是相对于jar文件没有主清单属性。 2-我打开jar文
我在SBT中有一个多项目构建配置,由两个互不依赖的不同模块组成。它们只是(碰巧)属于同一产品。 项目布局如下: project/Build.scala包含常见设置,如下所示: 根构建文件 build.sbt 只需要将它们放在一起 [我也试图删除它... 最后是myProject_1/build.sbt[我刚刚省略了myProject_2/build.sbt,因为它非常相似,没有为主题提供任何附加价
我必须通过 JAR 项目提供静态.js文件。为此,我创建了一个 JAR(使用 MAVEN),如下所示: 现在,我将此 JAR 添加到我的父级Spring启动项目中,并在其中一个 中添加了 这给了我一个404错误。 我的结论是:要么启动项目没有将JAR中的文件夹合并到它自己的中,要么我没有正确地访问该文件。 这些问题没有帮助(无法更改<code>WebMvcConfigurerAdapter</co
问题内容: 虽然只有两天了,但是我肯定会在所有Java项目中都使用gradle,并从所有项目的根目录中删除pom.xml,这对我肯定是有利的。 但是,我希望保持与Maven兼容,就某种意义而言,我希望gradle任务能够在用户希望的项目根目录下生成合适的pom.xml。 目前,我对pom.xml的唯一引用是在build.gradle文件的这一部分中(只需进行很少的修改,就可以在这里找到): 我如何
我做了一个简单的项目,其中包含一些测试,我希望能够在其他计算机上启动测试。我使用runas构建了这个项目- 错误:在com类中找不到Main方法。实例TestPurchase,请将main方法定义为:publicstaticvoidmain(String[]args)或JavaFX应用程序类必须扩展JavaFX。应用应用 据我所知,TestNG不需要任何主方法,因为有注释。这就引出了一些问题: 我
问题内容: 民间, 我正在使用Eclipse开发Java应用程序。Maven用于创建最终的jar文件。 在应用程序中,我使用一些图像图标作为按钮。按照Internet上的一些说明,我通过单击项目创建了“源”目录。我将源目录命名为“ res”,并将图像移动到该目录。 当应用未打包为jar文件时,此方法就可以正常工作(非常适合调试)。但是,当maven打包它时,我看到图像放在jar文件的根目录中。以下