gpt4 book ai didi

java - Maven 将包含 html 文件的目录打包到 jar 中

转载 作者:行者123 更新时间:2023-12-02 03:22:06 25 4
gpt4 key购买 nike

我有一个简单的网络应用程序,其结构如下:

project structure

我需要将它打包成 jar 。这是我的 pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>L1.1</groupId>
<artifactId>L1.1</artifactId>
<version>1.0</version>

<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>


<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>

<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<outputDirectory>${basedir}</outputDirectory>
<finalName>server</finalName>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>main.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>

<resources>
<resource>
<directory>templates</directory>
<includes>
<include>page.html</include>
</includes>
</resource>
</resources>

</build>

<dependencies>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.20</version>
</dependency>

<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>9.3.0.M0</version>
</dependency>

<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-webapp</artifactId>
<version>9.3.0.M0</version>
</dependency>

</dependencies>

</project>

我用Maven包装它的assembly:single选项: maven option

但是当我使用 java -jar server.jar 运行我的应用程序时并在浏览器中传递一个请求,我得到:

java.io.FileNotFoundException: Template "templates/page.html" not found.

发生这种情况是因为文件夹 templatespage.html其中未添加到 jar - 我打开包装server.jar搜了一下,没找到。

我用谷歌搜索了很多类似“maven pack resources into jar”或“maven pack html into jar”的东西。与我的问题最接近的文章是: https://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html

我按照该文章中的说明进行操作 - 添加了 <resources>和休息标签,我在其中概述了我的文件夹和我想要包含在 jar 中的文件(请参阅我上面写的pom.xml)。

但仍然是这个文件夹和 page.html未添加。

请指导我,我做错了什么以及如何添加 templates文件夹 page.html在其中 jar .

最佳答案

在我的例子中,Spring框架在SRC下有资源文件夹......并且该资源文件夹包含模板文件夹。

Src->resource -> template  

关于java - Maven 将包含 html 文件的目录打包到 jar 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56921786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com