当前位置: 首页 > 知识库问答 >
问题:

在spring boot MVC项目中使用JSP和POM中的自定义父集创建一个可执行的jar

郑星雨
2023-03-14

我有一个Spring MVC项目,我正在将其转换为Spring Boot。我的这个项目不能给spring-boot-starter-parent作为父项目,因为我需要保留一个自定义父项目。我通过在DependencyManagement中注入spring-boot-dependencies解决了第一个问题。我还需要我的项目嵌入一个tomcat,所以我使用了spring-boot-starter-web。我需要使用JSP,所以我添加了JSTLJasper的依赖关系。

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.1.4.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-loader -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-loader</artifactId>
        <version>2.1.4.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-core</artifactId>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>
<!-- ... -->
</dependencies>

编译jar并启动服务器,使用

mvn spring-boot:run

正常工作。现在我也想让它作为可执行jar工作。

我读了一些文档,帖子,网页,堆栈溢出问题,但我仍然不能使它正常工作。

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>3.0.0</version>
    <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
        <archive>
            <manifestFile>src/main/webapp/META-INF/MANIFEST.MF</manifestFile>
        </archive>
<!--    <archive>-->
<!--        <manifest>-->
<!--            <mainClass>my-boot-application</mainClass>-->
<!--            <springBootClasses>WEB-INF/classes/</springBootClasses>-->
<!--            <springBootLib>WEB-INF/lib/</springBootLib>-->
<!--        </manifest>-->
<!--    </archive>-->
    </configuration>
</plugin>

包含和不包含清单自定义信息。

共有1个答案

裘丰
2023-03-14

最后,我在这篇stackoverflow文章中列出了使用jsp、嵌入式tomcat和自定义父项目使Spring Boot应用程序工作所必需的所有内容。

因此,我的pom.xml现在更加可读性和紧凑,与链接中的示例非常相似。

 类似资料:
  • 我想知道如何设置一个父pom来处理我的spring-boot依赖关系以及构建一些客户机JAR。 我的想法是,父项目可以处理多个独立的spring应用程序之间的公共依赖关系,还可以构建一些自定义客户机jar或实用程序jar,子项目可以自行决定包括这些jar。 以下是我对pom文件的第一次尝试: 我甚至可以让我的IDE导入MyPojo类,但是包有一个问题,它不能真正解决该类。

  • 我们有一个公司范围的Super Pom,用于定义我们使用的许多默认值。例如,Super Pom定义要使用的JDK版本以及其他参数。这由我们的项目继承为父pom。 我们的大多数项目都使用JDK1.7,但有一组项目仍在JDK1.6版本上。我在我的父母pom中添加了以下配置文件定义: 现在,我有一个名为的配置文件,我想在项目的pom中指定它应该默认使用这个。我该怎么做? 我尝试在项目的pom中添加: 但

  • 我试图添加依赖到我的maven项目。我想添加Spring引导配置。但是它在父标签中给出了这个错误, 项目构建错误: io.javabrains.springbootquickstart的不可解析父POM: Court-api: 0.0.1-SNAPSHOT:未能找到 org.springframework-boot: spall-boot-starter-父: pom: 1.4.2。https:/

  • 我为我的项目创建了一个gitlab-ci。 当我运行管道时,我面临以下错误: [致命][projectName]的父POM不可解析-父:0.0.1-快照:无法将项目org.springframework.boot:spring-boot-starter-父:POM:2.4.0从/到[serverName]:[serverName]/org/springframework/boot/spring-b

  • 如何在一个项目中创建库和可执行文件?我只想在开发库的同时测试它,使用测试并不总是最好的方法。我认为我必须使用和,但我在crates.io中没有找到有关这方面的信息。

  • 首先,打开Android Studio并选择Create new Project,然后它会让你输入一个名字,你可以任意取一个名字,比如:Weather App。然后你需要输入公司域名。如果你不会真正发布这个app,这个字段就不是特别重要了,但是如果你有的话可以使用自己的域名。然后任意选择一个目录作为这个项目的保存地址。 下一步,它会让你选择最小的API版本。我们选择API 15,因为我们有一个库需