JavaFX Maven Plugin : com. zenjava - 如何复制外部资源

标签 java maven javafx maven-plugin

我是 Maven + JavaFX 的新手,我正在尝试使用 com.zenjava maven 插件生成 JavaFX 可执行 jar 文件。

我正在按照本指南进行引用:
https://www.youtube.com/watch?v=wbjW8rYlook

我的项目有以下文件夹结构:
enter image description here

现在我正在尝试运行配置 jfx:jar在 maven 构建期间,能够生成一个 jar 文件,但我需要的资源没有复制到 target/jfx/app 下文件夹。

enter image description here

基本上,我想复制整个 src/main/resources文件夹到 target/jfx/app/resources .我该如何实现?

一些信息:
src/main/resources/文件夹将包含我在运行时需要的不同类型的文件(excel 文件、pdf、htmls...),而不仅仅是属性文件。

提前致谢。

============================================= =========================
更新:
Yuri-M-Dias 的回答很有帮助。

在不更改任何其他设置的情况下,我设法通过更新我的 pom 文件来做到这一点:

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <targetPath>../jfx/app/resources</targetPath>
        </resource>
    </resources>



    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>com.zenjava</groupId>
            <artifactId>javafx-maven-plugin</artifactId>
            <version>8.7.0</version>
            <configuration>
                <mainClass>me.iamkenos.bayonetta.MainApp</mainClass>
            </configuration>
        </plugin>
    </plugins>
</build>

这绝对有效,但我不确定这是否是最好的方法,因为我不得不通过在 ../ 中使用“<targetPath>../jfx/app/resources</targetPath> ”来作弊。将暂时等待其他可能的答案。

最佳答案

您可以使用 resources 关键字将 Maven 的输出文件夹控制到特定文件夹。例如,在我的项目中:

    <resources>
        <resource>
            <directory>src/main/java/view</directory>
            <targetPath>view</targetPath>
        </resource>
    </resources>

在这种情况下,我强制将 java/view 文件夹的内容输出到 target/classes/view,因为这是我的 JavaFX 图像和 fxml 所在的位置.您可以对 jfx/app/resources 文件夹执行相同的操作。

关于复制文件夹,可以看看official maven recommendation .

关于JavaFX Maven Plugin : com. zenjava - 如何复制外部资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42249865/

相关文章:

java - G++编译的DLL有不同的函数名称

java - 我如何使用 canvas.save 和 canvas.restore?

java - 尝试使用 JSF 创建项目时出现错误 "Failed to execute goal"

maven - 是否自动使用dependency-reduced-pom.xml而不是pom.xml?

添加 rowfactory 后 Javafx TableView 不显示

JavaFX:如何为 Pane 创建幻灯片动画效果(在透明舞台内)

java - 使用反射 API 填充 Proto 中的 map 字段

java - 如何使用 javaparser 获取类级变量声明?

java - Junit 在法语字符串断言上失败

java - 如何运行多个 JavaFX 测试?