如何使用Maven在jar编译中包含非Java文件?

塞巴斯蒂安·兹德罗纳(Sebastian Zdroana)|

我有一个包含.txt文件的文件夹,用于保存数据。此数据已加载到我的游戏中,然后在游戏中使用。

我也有其他3个不在maven上的库。因此,我使用此插件将它们加载到.m2文件夹中:maven-install-plugin

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-install-plugin</artifactId>
        <version>2.5.2</version>
        <executions>
            <execution>
                <id>install-everythingrs-api-jar</id>
                <phase>validate</phase>
                <goals>
                    <goal>install-file</goal>
                </goals>
                <configuration>
                    <groupId>everythingrs-api</groupId>
                    <artifactId>everythingrs-api</artifactId>
                    <version>1.0</version>
                    <packaging>jar</packaging>
                    <file>${project.basedir}/lib/everythingrs-api.jar</file>
                    <generatePom>true</generatePom>
                </configuration>
            </execution>
            <execution>
                ...
            </execution>
            <execution>
                ...
            </execution>
        <executions>
    </plugin> 

然后,我使用此插件:maven-assembly-plugin将项目编译为一个包含其内部库的jar。

    <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>single</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <archive>
                <manifest>
                    <mainClass>${main-class-path}</mainClass>
                </manifest>
            </archive>
            <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
        </configuration>
    </plugin>

现在,如果我运行mvn clean validate install,它将把我拥有的3个库复制到.m2中,那么第二个插件将编译成一个可执行jar,其中包含从maven repo导入的库以及添加到.m2中的3个库。放进罐子里

但是,我在项目./中也有一个文件夹,但是在src之外,我如何才能使Maven插件在jar中也包含此目录/文件夹?

迈克·波恩

尝试使用Maven资源插件。它允许您添加不属于/src/main/resourcesMaven资源的文件夹

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Maven:如何在.jar中包含注释生成的.java文件

如何使用Maven在WAR归档文件WEB-INF / lib中包含JAR?

如何在jar文件中包含Maven依赖项?

如何使用 Java 将文件移动到已编译的 .jar 文件中?

如何使用 Java 程序修改已编译的 .jar 中的类文件中的字符串?

如何使用Maven将配置文件包含在JAR的“ META-INF / services”文件夹中

如何在Java 9中针对jar文件进行编译?

如何为Maven添加额外的源目录以进行编译并将其包含在构建jar中?

使用Maven进行编译时如何忽略.java文件?

如何使用bnd / maven-bundle-plugin从jar依赖项将资源文件包含在osgi捆绑包中?

如何使用maven创建一个可运行的jar,它在单独的“ lib”文件夹中包含依赖项(不是uber jar)

如何仅将 main/java 中的特定文件包含在要使用 gradle 发布的 jar 中?

如何在 Maven 组装的 Jar 文件中包含 src/main/resources/query.txt?

如何在Windows 10中使用命令提示符在编译和运行时中包含第三方jar文件?

在不使用Maven的情况下将JAXB的库包含到JAR文件中

在不包含jar文件的Java中包含dll文件

如何在.jar中包含.xlsx文件?

如何通过命令行编译Kotlin以包含Java jar?

使用maven编译时如何使用class文件而不是java文件

如何使用.jar库编译Java程序

使用生成的 jar 文件中的类路径编译 Java 源文件

如何使用Java获取.jar文件中的文件?

如何在Maven项目中包含本地jar文件

sbt / maven是否在jar文件中包含完整的依赖项?

Maven在JAR中包含特定文件夹

在 Maven 生成的 jar 中包含一个 zip 文件

如何访问Maven着色jar中的文件

如何使用bash脚本编译使用jar文件的多封装Java项目

如何使用Maven将所有必需的JAR文件放入最终JAR文件中的库文件夹中?