JavaFx 与 Maven : doesn't find the mainClass

标签 java eclipse maven javafx javafx-8

我有一个多模块 Maven 项目,并且 javaFx 有问题(我使用了插件 zenJava)。

当我想构建 jar 时,出现以下错误: 无法在项目 XXXX 上执行 objective-c om.zenjava:javafx-maven-plugin:8.8.3:build-jar (default-cli): objective-c om.zenjava:javafx-maven-plugin:8.8.3 的参数“mainClass” :build-jar 丢失或无效

但是,我在父 pom 中定义了 mainClass。

这是父pom:

    <dependencyManagement>
        <dependencies>
            <dependency>
               <groupId>commons-lang</groupId>
               <artifactId>commons-lang</artifactId>
                <version>2.6</version>
           </dependency>
       </dependencies>
  </dependencyManagement>
  <build>
    <pluginManagement>
        <plugins>
            <plugin>
                  <groupId>com.zenjava</groupId>
                  <artifactId>javafx-maven-plugin</artifactId>
                   <version>${javafx.version}</version>
                   <configuration>
                        <vendor>XXX</vendor>                
                        <mainClass>com.package.gui</mainClass>
                        <verbose>true</verbose>
                        <jarFileName>XXXX.jar</jarFileName>
                        <bundler>EXE</bundler>
                         <nativeInstallers/>
                    </configuration>
                    <executions>
                        <execution>
                            <id>create-jfxjar</id>
                            <phase>package</phase>
                            <goals>
                                <goal>build-jar</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>create-native</id>
                            <phase>package</phase>
                            <goals>
                                <goal>build-native</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.6.1</version>
                    <configuration>
                      <source>1.8</source>
                      <target>1.8</target>
                    </configuration>
            </plugin>
        </plugins>
    </build>

这是GUI模块的pom

 <build>
        <plugins>
            <plugin>
                <groupId>com.zenjava</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
            </plugin>
        </plugins> 
    </build>

最佳答案

尝试移动<pluginManagement>阻止从父 pom 到 GUI pom 并在 GUI pom 上运行构建命令(这就是我为我的多模块 JavaFX 项目设置的方式,它工作没有问题)

关于JavaFx 与 Maven : doesn't find the mainClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45431885/

相关文章:

java - 重新创建 arrayList 元素是否昂贵?

android - Maven编译报错包R不存在

java - 编译失败子包不存在

java - IntelliJ IDEA 提示 Maven 类未找到

java - mvn install 在 eclipse 中不起作用,但在命令行中工作正常

java - m2eclipse是否取消了多模块的支持?

java - 在哈希表中创建字符串的哈希值的时间复杂度

java - 如何使用 JsonObject 在 Java 中创建正确的 Json

java - 如何使用 Jackson 将 JSON 字符串解析为 java 对象?

android - 无法运行 Android SDK 管理器