java - 包含Maven JAR包中的文件

标签 java maven jar

我有一个具有以下结构的 Maven 项目:

project

-src
--main
---java
----(All my .java files are here in their packages)
---resource
----(All my resources are here)

-database (HSQLDB files)
--db.script
--db.properties
--db.data

-target
--Maven build directory

pom.xml

我希望maven jar插件在构建JAR文件时打包到数据库文件夹中。我尝试过包括此处概述的内容:https://maven.apache.org/plugins/maven-jar-plugin/examples/include-exclude.html ,但它找不到目录“../database”(或../../database OR ../../../database!),而且它现在不包含任何类或资源(之前包括它们)。

那么maven jar插件的配置中应该有什么? 哪个是正确的包含路径以及如何保留之前包含的文件?

谢谢

最佳答案

默认情况下,仅将位于 src/main/resources 中的资源添加到 JAR 中。
您尝试通过配置 maven-jar-plugin 来执行的操作仅定义要在构建的 JAR 中排除或包含的文件集。
但这些文件仍然必须位于 Maven 查找资源的资源文件夹中。

因此,您有两种方法来解决您的需求:

  • 数据库移动到标准目录:src/main/resources

  • 为资源指定两个resource文件夹:

To do the latter ,在pom.xml中添加build标签:

<resources>
     <resource>
       <directory>src/main/resources</directory>          
     </resource>
     <resource>
       <directory>database-resources</directory>
     </resource>
</resources>

然后将您想要打包的database文件夹添加到database-resources中。

关于java - 包含Maven JAR包中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47269360/

相关文章:

java - 如何为目标集创建 Maven 别名?

java - 在 Ant 中排除用于归档的测试类目录

java - 使用操作栏返回时应用程序意外停止

javax.net.ssl.SSLHandshakeException : sun. security.validator.ValidatorException:PKIX 路径构建失败

java - Portlet 生命周期和初始化

spring - Spring 3.1-无法找到Spring NamespaceHandler

java - mvn执行:java doesn't set classpath properly

java - 左移运算符如何保留符号?

java - jar 中提供什么格式的大背景图像?

java - 如何将本地jar库添加到Visual Studio代码中?